Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 305694|Răspunde: 99

[Program de consolă] .net/c# implementează codul sursă pentru deturnarea DNS

  [Copiază linkul]
Postat pe 10.11.2017 10:31:54 | | | |
Acum că deturnarea DNS pe Internet este frecventă, este ușor pentru operatori să implementeze deturnarea DNS, ce este deturnarea DNS? Enciclopedia Baidu este prezentată astfel:

Deturnarea DNS, cunoscută și sub denumirea de deturnare a numelor de domeniu, se referă la interceptarea cererilor de rezolvare a numelor de domeniu în cadrul rețelei deturnate, analizarea numelor de domenii solicitate și eliberarea cererilor în afara sferei de revizuire, altfel returnarea unei adrese IP false sau inactivitatea pentru a face cererea nefuncțională.


Astăzi, vreau să sparg programul pe care l-am scris, programul are nevoie de autentificare http pentru a rula normal, așa că sparge programul, poți falsifica conținutul răspunsului http, ca să faci programul să creadă că sunt un utilizator autentificat, răspuns http fals, există multe metode, astăzi m-am gândit la asta, poți folosi metoda de deturnare DNS pentru a falsifica adresa IP corespunzătoare a numelui de domeniu, astfel încât să falsifici conținutul răspunsului http.

Pentru a implementa deturnarea DNS, cea mai simplă metodă este fișierul hosts, există multe metode specifice pe Internet, astăzi să scriem un gadget de deturnare DNS în C#

Primul pas a fost să scriem programul la acel moment, iar scopul programului era să-l punemwww.itsvse.comAnaliza indică 127.0.0.1, am construit un site web cu 80 de porturi cu IIS, ca să nu mai vorbim de acest pas, codul sursă este la final.



Al doilea pas este modificarea serverului DNS al mașinii la 127.0.0.1, așa cum se arată în figura de mai jos:


Al treilea pas este să începem programul pe care l-am scris, iar apoi îl accesăm prin intermediul site-uluiwww.itsvse.com, veți descoperi că conținutul returnat de site nu este conținutul site-ului nostru real! Conținutul unei alte pagini web a fost complet falsificat, așa cum se arată mai jos:



Când deschidem Baidu, vom descoperi că Baidu nu poate fi deschis pentru că răspundem doarwww.itsvse.comRezolvarea cererilor de nume de domeniu este ignorată de alte rezoluții de nume de domeniu, așa cum se arată în figura de mai jos:



Cum gestionăm deturnarea DNS? Există multe moduri, dar există politici și contramăsuri: sulița este puternică sau scutul puternic?

Haha, gata.

Descărcare cod sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde





Precedent:Când XML procesează instrucțiuni SQL, procesează transformarea semnelor mai mici și mai mari decât
Următor:Diferența dintre ShadowsocksR și Shadowsocks
Postat pe 27.12.2017 10:54:20 |
Această postare a fost editată ultima dată de Zmoli775 pe 27-12-2017, 13:52

Când deschidem Baidu, vom descoperi că Baidu nu poate fi deschis pentru că răspundem doarwww.itsvse.comRezolvarea cererilor de nume de domeniu este ignorată de alte rezoluții de nume de domeniu, așa cum se arată în figura de mai jos:
Poți să deturnezi URL-ul desemnat? Restul numelui de domeniu poate fi accesat normal, cum se operează asta!--- fost prea neglijentă, nu am fost atentă...



Postat pe 12.12.2019 00:24:37 |
dacă (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com") // deturnează numele de domeniu QQ
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nume, 36000, IPAddress.Parse("192.168.15.15"))); Returnează un record A personalizat
                        Răspuns.ReturnCode = ReturnCode.NuEroare;
                    }
                    altfel
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- domeniu solicitat trebuie redirecționat către o interogare DNS publică" + Environment.NewLine);
                        DnsClient dnsClient = new DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Nume, RecordType.A);

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

                        foreach (DnsRecordBase dnsRecord în dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord ca ARecord;
                            dacă (aRecord != nul)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nume, 36 de ani, aRecord.Adresă)); Returnează-i un record de 127.0.0.1, care este mașina
                                Răspuns.ReturnCode = ReturnCode.NuEroare;
                            }
                            altfel
                            {
                                continuă;
                            }
                        }



                    }
                }
 Proprietarul| Postat pe 08.12.2017 15:47:28 |
Postat pe 10.11.2017 10:45:14 |
Mulțumesc că ai împărtășit, foarte bine
Postat pe 10.11.2017 10:49:29 |
Mulțumesc că ai împărtășit, sunt interesat
Postat pe 10.11.2017 11:29:38 De la telefon |
Nu, nu, nu, alb, sensibil
Postat pe 11.11.2017 01:49:29 |
Mulțumesc că ai împărtășit
Postat pe 12.11.2017 14:33:21 |
Învață să înveți
Postat pe 14.11.2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Postat pe 16.11.2017 10:41:11 |
Uimitor~~ Tip mare
Postat pe 14.12.2017 16:26:31 |
Doamne, uimitor
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com