Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 305694|Vastaus: 99

[Konsoliohjelma] .net/c# toteuttaa DNS:n kaappauksen lähdekoodin

  [Kopioi linkki]
Julkaistu 10.11.2017 10.31.54 | | | |
Nyt kun Internetin DNS-kaappaus on yleistä, operaattoreiden on helppo toteuttaa DNS-kaappaus, mitä DNS-kaappaus on? Baidu-tietosanakirja esitetään seuraavasti:

DNS-kaappaus, joka tunnetaan myös nimellä verkkotunnuksen kaappaus, tarkoittaa verkkotunnuksen ratkaisupyyntöjen sieppaamista kaapatun verkon sisällä, pyydetyjen verkkotunnusten analysointia ja pyyntöjen vapauttamista tarkastelun ulkopuolella, muuten väärennetyn IP-osoitteen palauttamista tai tekemättä jättämistä, jotta pyyntö ei vastaa.


Tänään haluan murtaa kirjoittamani ohjelman, ohjelma tarvitsee http-tunnistautumisen toimiakseen normaalisti, joten murtamalla ohjelma, voit väärentää http-vastauksen sisällön, jotta ohjelma luulee minun olevan autentikoitu käyttäjä, väärennös http-vastaus, menetelmiä on monia, tänään mietin, voitko käyttää DNS-kaappausmenetelmää väärentääksesi verkkotunnuksen vastaavan IP-osoitteen, jotta http-vastauksen sisältö väärennetään.

DNS-kaappauksen toteuttamiseen helpoin tapa on isäntätiedosto, Internetissä on paljon erityisiä menetelmiä, tänään kirjoitetaan DNS-kaappauslaite C#:lla

Ensimmäinen askel oli, että kirjoitimme ohjelman tuolloin, ja ohjelman tarkoitus oli toteuttaa ohjelmawww.itsvse.comJäsentäminen osoittaa 127.0.0.1:een, olen rakentanut 80-porttisen verkkosivuston IIS:llä, puhumattakaan tästä vaiheesta, lähdekoodi on alhaalla.



Toinen vaihe on muokata koneen DNS-palvelin muotoon 127.0.0.1, kuten alla olevassa kuvassa on esitetty:


Kolmas vaihe on aloittaa ohjelma, jonka olemme kirjoittaneet, ja sitten pääsemme siihen verkkosivuston kauttawww.itsvse.com, huomaat, että sivuston palauttama sisältö ei ole oikean verkkosivustomme sisältöä! Toisen verkkosivun sisältö on täysin väärennetty, kuten alla on esitetty:



Kun avaamme Baidun, huomaamme, ettei Baidua voi avata, koska vastaamme vainwww.itsvse.comVerkkotunnuspyyntöjen ratkaisu jätetään huomiotta muissa verkkotunnusnimien ratkaisuissa, kuten alla olevassa kuvassa on esitetty:



Miten käsittelemme DNS:n kaappausta? Tapoja on monia, mutta on olemassa politiikkoja ja vastatoimia, onko keihäs vahva vai kilpi voimakas?

Haha, sovittu.

Lähdekoodin lataus:

Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyväVastaus





Edellinen:Kun XML käsittelee SQL-lauseita, se käsittelee muunnoksen alle ja suuremmista kuin -merkeistä
Seuraava:Ero ShadowsocksR:n ja Shadowsocksin välillä
Julkaistu 27.12.2017 10.54.20 |
Tätä julkaisua on viimeksi muokannut Zmoli775 27.12.2017 klo 13:52

Kun avaamme Baidun, huomaamme, ettei Baidua voi avata, koska vastaamme vainwww.itsvse.comVerkkotunnuspyyntöjen ratkaisu jätetään huomiotta muissa verkkotunnusnimien ratkaisuissa, kuten alla olevassa kuvassa on esitetty:
Voitko kaapata määritellyn URL-osoitteen, muu verkkotunnus on normaalisti käytettävissä, miten tämä toimii!--- oli liian huolimaton, en kiinnittänyt huomiota...



Julkaistu 12.12.2019 0.24.37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com") // kaappaa QQ-verkkotunnuksen
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nimi, 36000, IPAddress.Parse("192.168.15.15")); Palauttaa mukautetun A-tietueen
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    else
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- pyydetty verkkotunnus täytyy ohjata julkiseen DNS-kyselyyn" + Environment.NewLine);
                        DnsClient dnsClient = uusi DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Nimi, RecordType.A);

/////请教一下楼主,这个地方请求不到信息,如何解决?谢谢

                        foreach (DnsRecordBase dnsRecord in dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord ARecordina;
                            if (aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nimi, 36, aRecord.Address)); Palauta hänelle ennätys 127.0.0.1, joka on kone
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            else
                            {
                                jatka;
                            }
                        }



                    }
                }
 Vuokraisäntä| Julkaistu 8.12.2017 15.47.28 |
Julkaistu 10.11.2017 10.45.14 |
Kiitos kun jaoit, hyvää tavaraa
Julkaistu 10.11.2017 10.49.29 |
Kiitos kun jaoit, kiinnostus
Julkaistu 10.11.2017 11.29.38 Puhelimesta |
Ei, ei, ei, valkoinen, hellä
Julkaistu 11.11.2017 1.49.29 |
Kiitos, että jaoit
Julkaistu 12.11.2017 14.33.21 |
Opettele oppimaan
Julkaistu 14.11.2017 16.05.10 |
RE: .net/c# 实现dns劫持源代码
Julkaistu 16.11.2017 10.41.11 |
Mahtavaa~~ Iso kaveri
Julkaistu 14.12.2017 16.26.31 |
Hyvä luoja, uskomaton
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com