Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 305694|Yanıt: 99

[Konsol Programı] .net/c# DNS kaçırma kaynak kodunu uygular

  [Bağlantıyı kopyala]
Yayınlandı 10.11.2017 10:31:54 | | | |
Artık İnternet DNS kaçırma yaygın olduğu için, operatörlerin DNS kaçırmasını uygulaması kolay, DNS kaçırma nedir? Baidu Ansiklopedisi şu şekilde tanıtılır:

DNS kaçırma, alan adı kaçırma olarak da bilinir, ele geçirilen ağ içinde alan adı çözümleme taleplerini ele geçirmek, talep edilen alan adlarını analiz etmek ve inceleme kapsamı dışındaki talepleri serbest bırakmak, aksi takdirde sahte bir IP adresi geri vermek veya talebin yanıt vermemesi anlamına gelir.


Bugün, yazdığım programı kırmak istiyorum, programın normal çalışması için http kimlik doğrulaması gerekiyor, yani programı kırın, http yanıt içeriğini sahte yapabilirsiniz, programın benim kimliği doğrulanmış bir kullanıcı olduğumu düşünmesini sağlayabilirsiniz, sahte http yanıtı, birçok yöntem var, bugün düşündüm, DNS kaçırma yöntemiyle alan adının ilgili IP adresini sahte yapabilir misiniz, böylece http yanıt içeriğini sahte yapabilirsiniz.

DNS kaçırma uygulamanın en kolay yolu hosts dosyasıdır, internette birçok özel yöntem var, bugün C# ile bir DNS kaçırma cihazı yazalım

İlk adım, programı o dönemde yazmamızdı ve programın amacı programı ortaya koymaktıwww.itsvse.comAyrıştırma 127.0.0.1'e işaret ediyor, IIS ile 80 portlu bir web sitesi kurdum, ayrıca bu adımı da unutmayın, kaynak kodu en altta.



İkinci adım, makinenin DNS sunucusunu aşağıdaki şekilde gösterildiği gibi 127.0.0.1 olarak değiştirmektir:


Üçüncü adım, yazdığımız programı başlatmak ve ardından web sitesi üzerinden erişmekwww.itsvse.com, web sitesi tarafından geri gönderilen içeriğin gerçek web sitemizin içeriği olmadığını göreceksiniz! Aşağıda gösterildiği gibi, başka bir web sayfasının içeriği tamamen sahte edilmiştir:



Baidu'yu açtığımızda, sadece yanıt verdiğimiz için Baidu'nun açılamayacağını göreceğizwww.itsvse.comAlan adı taleplerinin çözümü, aşağıdaki şekilde gösterildiği gibi diğer alan adı çözümleri tarafından göz ardı edilir:



DNS kaçırma ile nasıl başa çıkacağız? Birçok yol var, ama politikalar ve karşı önlemler var, mızrak güçlü mü yoksa kalkan güçlü mü?

Haha, tamam.

Kaynak kodu indirme:

Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfenYanıt





Önceki:XML, SQL ifadelerini işlediğinde, az ve büyük işaretlerin dönüşümünü işler
Önümüzdeki:ShadowsocksR ile Shadowsocks arasındaki fark
Yayınlandı 27.12.2017 10:54:20 |
Bu gönderi en son 2017-12-27 13:52 tarihinde Zmoli775 tarafından düzenlenmiştir

Baidu'yu açtığımızda, sadece yanıt verdiğimiz için Baidu'nun açılamayacağını göreceğizwww.itsvse.comAlan adı taleplerinin çözümü, aşağıdaki şekilde gösterildiği gibi diğer alan adı çözümleri tarafından göz ardı edilir:
Belirlenmiş URL'yi ele geçirebilir misiniz, alan adının geri kalanına normal şekilde erişilebiliyor musunuz, bunu nasıl çalıştırırsınız?--- çok dikkatsizdi, dikkat etmedim...



Yayınlandı 12.12.2019 00:24:37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com") // QQ alan adını ele geçirse
                    {
                        Yanıt.CevapKayıtlar.Add(yeni ARecord(eventArgsQuery.Questions[0]. Name, 36000, IPAddress.Parse("192.168.15.15")); Özel bir A kaydı döndürer
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    else
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- talep edilen alan adı halka açık DNS sorgusuna yönlendirilmelidir" + Environment.NewLine);
                        DnsClient dnsClient = yeni DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. İsim, RecordType.A);

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

                        foreach (dnsRecordBase dnsRecord in dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord olarak ARecord;
                            if (aRecord != null)
                            {
                                Yanıt.CevapKayıtlar.Add(yeni ARecord(eventArgsQuery.Questions[0]. İsim, 36, aRecord.Address)); Ona 127.0.0.1 kaydını geri ver, bu makine
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            else
                            {
                                devam et;
                            }
                        }



                    }
                }
 Ev sahibi| Yayınlandı 8.12.2017 15:47:28 |
Yayınlandı 10.11.2017 10:45:14 |
Paylaştığın için teşekkürler, güzel şeyler
Yayınlandı 10.11.2017 10:49:29 |
Paylaştığınız için teşekkürler, ilgilendim
Yayınlandı 10.11.2017 11:29:38 Telefondan |
Hayır, hayır, hayır, beyaz, hassas
Yayınlandı 11.11.2017 01:49:29 |
Paylaştığınız için teşekkürler
Yayınlandı 12.11.2017 14:33:21 |
Öğrenmeyi öğren
Yayınlandı 14.11.2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Yayınlandı 16.11.2017 10:41:11 |
Harika~~ Büyük adam
Yayınlandı 14.12.2017 16:26:31 |
Tanrım, harika
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com