See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 305694|Vastuse: 99

[Konsooliprogramm] .net/c# rakendab DNS-i kaaperdamise lähtekoodi

  [Kopeeri link]
Postitatud 10.11.2017 10:31:54 | | | |
Nüüd, kui interneti DNS-i kaaperdamine on tavaline, on operaatoritel lihtne DNS-i kaaperdamine ellu viia, aga mis on DNS-i kaaperdamine? Baidu entsüklopeedia tutvustatakse järgmiselt:

DNS-i kaaperdamine, tuntud ka kui domeeninime kaaperdamine, tähendab domeeninimede lahendamise päringute pealtkuulamist kaaperdatud võrgus, soovitud domeeninimede analüüsimist ja päringute vabastamist väljaspool läbivaatamise ulatust, muul juhul võltsitud IP-aadressi tagastamist või mittetegevust, mis muudab päringu vastamatuks.


Täna tahan ma murda programmi, mille kirjutasin, programm vajab http-autentimist, et normaalselt töötada, nii et murda programm, saad võltsida http-vastuse sisu, et panna programm arvama, et olen autentitud kasutaja, võlts http-vastus, meetodeid on palju, täna mõtlesin sellele, kas DNS-i kaaperdamise meetodit saab võltsida domeeninime vastav IP-aadress, et võltsida http-vastuse sisu.

DNS-i kaaperdamise rakendamiseks on kõige lihtsam viis hosti fail, internetis on palju spetsiifilisi meetodeid, täna kirjutame DNS-i kaaperdamise vidina C#-s

Esimene samm oli see, et me kirjutasime programmi tol ajal ja programmi eesmärk oli see programm ellu viiawww.itsvse.comTöötlus viitab versioonile 127.0.0.1, olen ehitanud 80-pordilise veebilehe koos IIS-iga, rääkimata sellest sammust, lähtekood on allosas.



Teine samm on muuta masina DNS-server versiooniks 127.0.0.1, nagu alloleval joonisel näidatud:


Kolmas samm on alustada programmi, mille oleme kirjutanud, ja seejärel pääseme sellele ligi veebilehe kauduwww.itsvse.com, leiate, et veebisaidi poolt tagastatud sisu ei ole meie päris veebisaidi sisu! Teise veebilehe sisu on täielikult võltsitud, nagu allpool näidatud:



Kui me avame Baidu, leiame, et Baidu ei saa avada, sest me vastame ainultwww.itsvse.comDomeeninimede päringute lahendust ignoreerivad teised domeeninimede resolutsioonid, nagu näidatud alloleval joonisel:



Kuidas me tegeleme DNS-i kaaperdamisega? Võimalusi on palju, kuid on olemas poliitikad ja vastumeetmed – kas oda on tugev või kilp võimas?

Haha, tehtud.

Lähtekoodi allalaadimine:

Turistid, kui soovite näha selle postituse peidetud sisu, palunVastuse





Eelmine:Kui XML töötleb SQL-lauseid, töötleb ta väiksemate kui ja suuremate kui märkide teisendust
Järgmine:Erinevus ShadowsocksR-i ja Shadowsocksi vahel
Postitatud 27.12.2017 10:54:20 |
Seda postitust toimetas viimati Zmoli775 2017-12-27 kell 13:52

Kui me avame Baidu, leiame, et Baidu ei saa avada, sest me vastame ainultwww.itsvse.comDomeeninimede päringute lahendust ignoreerivad teised domeeninimede resolutsioonid, nagu näidatud alloleval joonisel:
Kas saad määratud URL-i üle võtta, ülejäänud domeeninimele pääseb normaalselt ligi, kuidas seda kasutada!--- oli liiga hooletu, ma ei pööranud tähelepanu...



Postitatud 12.12.2019 00:24:37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com") // kaaperdab QQ domeeninime
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nimi, 36000, IPAddress.Parse("192.168.15.15"))); Tagastab kohandatud A-kirje
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    else
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- taotletud domeen tuleb edastada avalikule DNS-päringule" + Environment.NewLine);
                        DnsClient dnsClient = uus 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 kui ARecord;
                            if (aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nimi, 36, aRecord.Address)); Tagasta talle rekord 127.0.0.1, mis on masin
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            else
                            {
                                jätka;
                            }
                        }



                    }
                }
 Üürileandja| Postitatud 08.12.2017 15:47:28 |
Postitatud 10.11.2017 10:45:14 |
Aitäh jagamast, hea kraam.
Postitatud 10.11.2017 10:49:29 |
Aitäh jagamast, huvitatud
Postitatud 10.11.2017 11:29:38 Telefonist |
Ei, ei, ei, valge, õrn
Postitatud 11.11.2017 01:49:29 |
Aitäh, et jagasid
Postitatud 12.11.2017 14:33:21 |
Õpi õppima
Postitatud 14.11.2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Postitatud 16.11.2017 10:41:11 |
Imeline~~ Suur mees
Postitatud 14.12.2017 16:26:31 |
Suur jumal, imeline
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com