Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 305694|Odpowiedź: 99

[Program konsolowy] .net/c# implementuje przejęcia kodu źródłowego DNS.

  [Skopiuj link]
Opublikowano 10.11.2017 10:31:54 | | | |
Teraz, gdy hijacking DNS w Internecie jest powszechny, operatorom łatwo jest go wdrożyć, czym jest przejęcie DNS? Encyklopedia Baidu jest przedstawiona w następujący sposób:

Przejęcie DNS, znane również jako przejęcie nazw domeny, odnosi się do przechwytywania żądań rozwiązywania nazw domen w obrębie przejętej sieci, analizy żądanych nazw domen oraz wysyłania żądań poza zakresem weryfikacji, w przeciwnym razie zwracania fałszywego adresu IP lub nie robienia niczego, aby uczynić żądanie nieodpowiedzialnym.


Dziś chcę złamać program, który napisałem, program potrzebuje uwierzytelniania http, aby działać normalnie, więc złam program, możesz sfałszować treść odpowiedzi http, aby program pomyślał, że jestem uwierzytelnionym użytkownikiem, fałszywa odpowiedź http, jest wiele metod, dziś o tym myślałem, czy można użyć metody przejęcia DNS, aby sfałszować odpowiadający adres IP domeny, aby sfałszować treść odpowiedzi http.

Aby zaimplementować przejęcia DNS, najprostszym sposobem jest plik hosta, w Internecie jest wiele konkretnych metod, dziś napiszmy gadżet do przechwytywania DNS w C#

Pierwszym krokiem było napisanie programu w tamtym czasie, a jego celem było jego umieszczeniewww.itsvse.comParsowanie wskazuje na 127.0.0.1, zbudowałem stronę internetową z 80 portami w IIS, nie wspominając o tym kroku, gdzie kod źródłowy jest na dole.



Drugim krokiem jest modyfikacja serwera DNS maszyny do wersji 127.0.0.1, jak pokazano na poniższym rysunku:


Trzecim krokiem jest rozpoczęcie programu, który napisałemy, a następnie dostęp do niego przez stronę internetowąwww.itsvse.com, zauważysz, że treści zwrócone przez stronę nie są treścią naszej prawdziwej strony! Treść innej strony internetowej została całkowicie sfałszowana, jak pokazano poniżej:



Gdy otworzymy Baidu, przekonamy się, że Baidu nie może zostać otwarty, bo tylko odpowiadamywww.itsvse.comRozwiązywanie żądań domen jest ignorowane przez inne rozwiązania domen, jak pokazano na poniższym rysunku:



Jak radzić sobie z przejęciem DNS? Jest wiele sposobów, ale są też polityki i środki zaradcze, czy włócznia jest silna, czy tarcza potężna?

Haha, gotowe.

Pobranie kodu źródłowego:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź





Poprzedni:Gdy XML przetwarza instrukcje SQL, przetwarza transformację znaków mniejsze i większe niż
Następny:Różnica między ShadowsocksR a Shadowsocks
Opublikowano 27.12.2017 10:54:20 |
Ten post został ostatnio edytowany przez Zmoli775 w dniu 27.12.2017 o godzinie 13:52

Gdy otworzymy Baidu, przekonamy się, że Baidu nie może zostać otwarty, bo tylko odpowiadamywww.itsvse.comRozwiązywanie żądań domen jest ignorowane przez inne rozwiązania domen, jak pokazano na poniższym rysunku:
Czy możesz przejąć wyznaczony adres URL? Reszta domeny jest dostępna normalnie, jak to obsłużyć!--- był zbyt nieostrożny, nie zwracałem uwagi...



Opublikowano 12.12.2019 00:24:37 |
if (eventArgsQuery.Questions.Count == 1 & eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    jeśli (domainnew == "www.test.com") // przejmuje domenę QQ
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nazwa, 36000, IPAddress.Parse("192.168.15.15"))); Zwraca niestandardową płytę A
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    else
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- żądana domena musi zostać przekazana do publicznego zapytania DNS" + Environment.NewLine);
                        DnsClient dnsClient = nowy DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Imię, Type.A);

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

                        foreach (DnsRecordBase dnsRecord w dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord jako ARecord;
                            if (aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Imię, 36 lat, aRecord.Address)); Oddaj mu rekord 127.0.0.1, czyli maszynę
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            else
                            {
                                kontynuacja;
                            }
                        }



                    }
                }
 Ziemianin| Opublikowano 08.12.2017 15:47:28 |
Opublikowano 10.11.2017 10:45:14 |
Dzięki za podzielenie się, dobre informacje
Opublikowano 10.11.2017 10:49:29 |
Dzięki za podzielenie się, jestem zainteresowany
Opublikowano 10.11.2017 11:29:38 Z telefonu |
Nie, nie, nie, białe, delikatne
Opublikowano 11.11.2017 01:49:29 |
Dziękuję za podzielenie się
Opublikowano 12.11.2017 14:33:21 |
Naucz się uczyć
Opublikowano 14.11.2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Opublikowano 16.11.2017 10:41:11 |
Niesamowite~~ Duży facet
Opublikowano 14.12.2017 16:26:31 |
Wielki Boże, niesamowity
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com