Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 305694|Antwoord: 99

[Consoleprogramma] .net/c# implementeert broncode die DNS kaapt

  [Link kopiëren]
Geplaatst op 10-11-2017 10:31:54 | | | |
Nu internet-DNS-kaping gebruikelijk is, is het voor operators eenvoudig om DNS-kaping toe te passen, wat is DNS-kaping? De Baidu Encyclopedie wordt als volgt geïntroduceerd:

DNS-kaping, ook wel domeinnaamkaping genoemd, verwijst naar het onderscheppen van domeinnaamresolutieverzoeken binnen het gekaapte netwerk, het analyseren van de gevraagde domeinnamen en het vrijgeven van verzoeken buiten het beoordelingsgebied, anders het teruggeven van een nep-IP-adres of het doen van niets om het verzoek onresponsief te maken.


Vandaag wil ik het programma kraken dat ik heb geschreven, het programma heeft http-authenticatie nodig om normaal te draaien, dus krak het programma, je kunt de inhoud van de http-respons vervalsen om het programma te laten denken dat ik een geauthenticeerde gebruiker ben, nep HTTP-antwoord, er zijn veel methoden, vandaag dacht ik erover na, kun je de DNS-kapingsmethode gebruiken om het bijbehorende IP-adres van de domeinnaam te vervalsen, zodat je de inhoud van de http-respons kunt vervalsen.

Om DNS-kaping te implementeren is de makkelijkste manier het hosts-bestand, er zijn veel specifieke methoden op het internet, tegenwoordig schrijven we een DNS-kapingsapparaat in C#

De eerste stap was dat we het programma op dat moment schreven, en het doel van het programma was om het programma te plaatsenwww.itsvse.comDe parsing wijst op 127.0.0.1, ik heb een website met 80 poorten gebouwd met IIS, om nog maar te zwijgen van deze stap, de broncode staat onderaan.



De tweede stap is het aanpassen van de DNS-server van de machine naar 127.0.0.1, zoals weergegeven in de onderstaande figuur:


De derde stap is om het programma te starten dat we hebben geschreven, en daarna openen we het via de websitewww.itsvse.com, zul je merken dat de inhoud die door de website wordt teruggegeven niet de inhoud van onze echte website is! De inhoud van een andere webpagina is volledig vervalst, zoals hieronder te zien is:



Wanneer we Baidu openen, zullen we merken dat Baidu niet geopend kan worden omdat we alleen reagerenwww.itsvse.comDe oplossing van domeinnaamverzoeken wordt genegeerd door andere domeinnaamresoluties, zoals weergegeven in de onderstaande figuur:



Hoe gaan we om met DNS-kaping? Er zijn veel manieren, maar er zijn beleidsmaatregelen en tegenmaatregelen, is de speer sterk of het schild krachtig?

Haha, klaar.

Broncode downloaden:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord





Vorig:Wanneer XML SQL-statements verwerkt, verwerkt het de transformatie van minder dan- en groter-dan-tekens
Volgend:Verschil tussen ShadowsocksR en Shadowsocks
Geplaatst op 27-12-2017 10:54:20 |
Dit bericht is voor het laatst bewerkt door Zmoli775 op 27-12-2017 13:52

Wanneer we Baidu openen, zullen we merken dat Baidu niet geopend kan worden omdat we alleen reagerenwww.itsvse.comDe oplossing van domeinnaamverzoeken wordt genegeerd door andere domeinnaamresoluties, zoals weergegeven in de onderstaande figuur:
Kun je de aangewezen URL kapen? De rest van de domeinnaam is normaal toegankelijk, hoe werkt dit!--- was te onvoorzichtig, ik lette niet op...



Geplaatst op 12-12-2019 00:24:37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    als (domainnew == "www.test.com") // de QQ-domeinnaam kaapt
                    {
                        Response.AnswerRecords.Add (nieuwe ARecord(eventArgsQuery.Questions[0]. Naam, 36000, IPAddress.Parse ("192.168.15.15"))); Retourneert een aangepaste A-record
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    anders
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffffff"). ToString() + "--- gevraagde domein moet worden doorgestuurd naar een publieke DNS-query" + Environment.NewLine);
                        DnsClient dnsClient = new DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Naam, RecordType.A);

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

                        foreach (DnsRecordBase dnsRecord in dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord als ARecord;
                            als (aRecord != null)
                            {
                                Response.AnswerRecords.Add (nieuwe ARecord(eventArgsQuery.Questions[0]. Naam, 36, aRecord.Adres)); Geef hem een record van 127.0.0.1 terug, wat de machine is
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            anders
                            {
                                Ga door;
                            }
                        }



                    }
                }
 Huisbaas| Geplaatst op 08-12-2017 15:47:28 |
Geplaatst op 10-11-2017 10:45:14 |
Bedankt voor het delen, goed spul
Geplaatst op 10-11-2017 10:49:29 |
Bedankt voor het delen, ik ben geïnteresseerd
Geplaatst op 10-11-2017 11:29:38 Vanaf de telefoon |
Nee, nee, nee, wit, teder
Geplaatst op 11-11-2017 01:49:29 |
Bedankt voor het delen
Geplaatst op 12-11-2017 14:33:21 |
Leer leren
Geplaatst op 14-11-2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Geplaatst op 16-11-2017 10:41:11 |
Geweldig~~ Grote vent
Geplaatst op 14-12-2017 16:26:31 |
Geweldige god, geweldig
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com