Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 305694|Svar: 99

[Konsolprogram] .net/c# implementerar DNS-kapning av källkod

  [Kopiera länk]
Publicerad på 2017-11-10 10:31:54 | | | |
Nu när internet-DNS-kapning är vanlig är det lätt för operatörer att implementera DNS-kapning, vad är DNS-kapning? Baidu-encyklopedin introduceras enligt följande:

DNS-kapning, även känt som domännamnskapning, avser att avlyssna domännamnsresolutionsförfrågningar inom det kapade nätverket, analysera de begärda domännamnen och släppa förfrågningar utanför granskningsområdet, annars returnera en falsk IP-adress eller inte göra något för att göra begäran oresponsiv.


Idag vill jag knäcka programmet jag skrev, programmet behöver http-autentisering för att fungera normalt, så knäck programmet, du kan förfalska innehållet i http-svaret, för att få programmet att tro att jag är en autentiserad användare, falskt http-svar, det finns många metoder, idag funderade jag på det, kan du använda DNS-kapningsmetoden för att förfalska motsvarande IP-adress för domännamnet, för att förfalska HTTP-svarsinnehållet.

För att implementera DNS-kapning är det enklaste sättet hosts-filen, det finns många specifika metoder på Internet, idag låt oss skriva en DNS-kapningsenhet i C#

Det första steget var att vi skrev programmet vid den tiden, och syftet med programmet var att lägga fram programmetwww.itsvse.comParsningen pekar på 127.0.0.1, jag har byggt en webbplats med 80 portar med IIS, för att inte tala om detta steg, källkoden finns längst ner.



Det andra steget är att modifiera DNS-servern på maskinen till 127.0.0.1, som visas i figuren nedan:


Det tredje steget är att starta programmet vi har skrivit, och sedan får vi tillgång till det via webbplatsenwww.itsvse.com, kommer du att upptäcka att innehållet som skickas tillbaka från webbplatsen inte är innehållet från vår riktiga webbplats! Innehållet på en annan webbsida har helt förfalskats, som visas nedan:



När vi öppnar Baidu kommer vi att upptäcka att Baidu inte kan öppnas eftersom vi bara svararwww.itsvse.comUpplösningen av domännamnsförfrågningar ignoreras av andra domännamnslösningar, som visas i figuren nedan:



Hur hanterar vi DNS-kapning? Det finns många sätt, men det finns policyer och motåtgärder, är spjutet starkt eller skölden kraftfull?

Haha, klart.

Källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar





Föregående:När XML bearbetar SQL-satser, hanterar det transformationen av mindre än- och större än-tecken
Nästa:Skillnad mellan ShadowsocksR och Shadowsocks
Publicerad på 2017-12-27 10:54:20 |
Detta inlägg redigerades senast av Zmoli775 den 27-12-2017 kl. 13:52

När vi öppnar Baidu kommer vi att upptäcka att Baidu inte kan öppnas eftersom vi bara svararwww.itsvse.comUpplösningen av domännamnsförfrågningar ignoreras av andra domännamnslösningar, som visas i figuren nedan:
Kan du kapa den angivna URL:en, resten av domännamnet kan nås normalt, hur fungerar detta!--- var för vårdslös, jag brydde mig inte...



Publicerad på 2019-12-12 00:24:37 |
om (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    om (domainnew == "www.test.com") // kapar domännamnet QQ
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Namn, 36000, IPAddress.Parse ("192.168.15.15"))); Returnerar en anpassad A-post
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    annars
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffffff"). ToString() + "--- begärda domän måste vidarebefordras till en publik DNS-fråga" + Environment.NewLine);
                        DnsClient dnsClient = ny DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Namn, RecordType.A);

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

                        foreach (DnsRecordBase dnsRecord i dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord som ARecord;
                            om (aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Namn, 36, aRecord.Address)); Ge honom en post på 127.0.0.1, vilket är maskinen
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            annars
                            {
                                fortsätt;
                            }
                        }



                    }
                }
 Hyresvärd| Publicerad på 2017-12-08 15:47:28 |
Publicerad på 2017-11-10 10:45:14 |
Tack för att du delade med dig, bra grejer
Publicerad på 2017-11-10 10:49:29 |
Tack för att du delade med dig, intresserad
Publicerad på 2017-11-10 11:29:38 Från telefonen |
Nej, nej, nej, vit, öm
Publicerad på 2017-11-11 01:49:29 |
Tack för att du delade med dig
Publicerad på 2017-11-12 14:33:21 |
Lär dig att lära dig
Publicerad på 2017-11-14 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Publicerad på 2017-11-16 10:41:11 |
Fantastisk~~ Stor kille
Publicerad på 2017-12-14 16:26:31 |
Stora gud, fantastiskt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com