Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 305694|Odpověď: 99

[Konzolový program] .net/c# implementuje DNS únos zdrojového kódu

  [Kopírovat odkaz]
Zveřejněno 10.11.2017 10:31:54 | | | |
Nyní, když je internetové DNS hijacking běžné, je pro operátory snadné DNS hijacking implementovat, co DNS hijacking vlastně je? Baidu Encyklopedie je představena následovně:

DNS hijacking, známý také jako domain name hijacking, označuje zachycení požadavků na řešení doménových jmen v unesené síti, analýzu požadovaných doménových jmen a uvolňování požadavků mimo rozsah přezkumu, jinak vrácení falešné IP adresy nebo nic, co by požadavek učinilo neodpovědným.


Dnes chci prolomit program, který jsem napsal, program potřebuje http autentizaci, aby běžel normálně, takže prolomit program, můžete zfalšovat obsah http odpovědi, aby si program myslel, že jsem ověřený uživatel, falešná http odpověď, existuje mnoho metod, dnes jsem o tom přemýšlel, můžete použít metodu DNS hijacking k falšování odpovídající IP adresy domény, abyste zfalšovali obsah http odpovědi.

Pro implementaci DNS hijackingu je nejjednodušší způsob soubor hosts, na internetu je dnes spousta specifických metod, pojďme napsat zařízení pro DNS hijacking v C#.

Prvním krokem bylo, že jsme tehdy napsali program a jeho účelem bylo program uvéstwww.itsvse.comAnalýza ukazuje na 127.0.0.1, vytvořil jsem web s 80portem v IIS, nemluvě o tomto kroku, zdrojový kód je dole.



Druhým krokem je úprava DNS serveru stroje na 127.0.0.1, jak je znázorněno na obrázku níže:


Třetím krokem je spustit program, který jsme napsali, a pak k němu přistupujeme přes webové stránkywww.itsvse.com, zjistíte, že obsah vrácený webem není obsahem našeho skutečného webu! Obsah jiné webové stránky byl zcela zfalšován, jak je vidět níže:



Když otevřeme Baidu, zjistíme, že Baidu nelze otevřít, protože jen reagujemewww.itsvse.comŘešení požadavků na doménová jména je ignorováno jinými řešeními doménových jmen, jak je znázorněno na obrázku níže:



Jak se vypořádáme s únosem DNS? Existuje mnoho způsobů, ale existují i politiky a protiopatření – je kopí silné, nebo štít silný?

Haha, hotovo.

Stažení zdrojového kódu:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď





Předchozí:Když XML zpracovává SQL příkazy, zpracovává transformaci znamének menší než a větší než
Další:Rozdíl mezi ShadowsocksR a Shadowsocks
Zveřejněno 27.12.2017 10:54:20 |
Tento příspěvek naposledy upravoval Zmoli775 dne 27. 12. 2017 v 13:52

Když otevřeme Baidu, zjistíme, že Baidu nelze otevřít, protože jen reagujemewww.itsvse.comŘešení požadavků na doménová jména je ignorováno jinými řešeními doménových jmen, jak je znázorněno na obrázku níže:
Můžete převzít určenou URL? Zbytek domény lze normálně prohledat, jak to funguje!--- bylo příliš neopatrné, nevěnoval jsem pozornost...



Zveřejněno 12.12.2019 0:24:37 |
if (eventArgsQuery.Questions.Count == 1 & eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com") // unesou doménu QQ
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Jméno, 36000, IPAddress.Parse("192.168.15.15"))); Vrací vlastní desku A
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    jinak
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- požadovaná doména musí být přesměrována na veřejný DNS dotaz" + Environment.NewLine);
                        DnsClient dnsClient = nový DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Jméno, RecordType.A);

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

                        foreach (DnsRecordBase dnsRecord v dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord jako ARecord;
                            if (aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Jméno, 36 let, aZáznam.Adresa)); Vraťte mu rekord 127.0.0.1, což je stroj
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            jinak
                            {
                                pokračujte;
                            }
                        }



                    }
                }
 Pronajímatel| Zveřejněno 08.12.2017 15:47:28 |
Zveřejněno 10.11.2017 10:45:14 |
Díky za sdílení, dobré věci
Zveřejněno 10.11.2017 10:49:29 |
Díky za sdílení, zajímá mě to
Zveřejněno 10.11.2017 11:29:38 Z telefonu |
Ne, ne, ne, bílé, něžné
Zveřejněno 11.11.2017 1:49:29 |
Děkuji, že jste se podělili
Zveřejněno 12.11.2017 14:33:21 |
Učte se učit
Zveřejněno 14.11.2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Zveřejněno 16.11.2017 10:41:11 |
Úžasné~~ Velký chlap
Zveřejněno 14.12.2017 16:26:31 |
Bože úžasný
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com