この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 305694|答える: 99

[コンソールプログラム] .net/c#はDNSハイジャックのソースコードを実装しています

  [リンクをコピー]
掲載地 2017/11/10 10:31:54 | | | |
インターネットのDNSハイジャックが一般的になった今、オペレーターが簡単に実施できるようになりましたが、DNSハイジャックとは何か? 百度百科事典は以下の通りに紹介されます:

DNSハイジャック(ドメイン名ハイジャックとも呼ばれる)は、ハイジャックされたネットワーク内でドメイン名解決リクエストを傍受し、要求されたドメイン名を解析し、審査範囲外のリクエストを解放し、偽のIPアドレスを返すか、リクエストを応答を停止させる行為を一切行わないことを意味します。


今日は自分が書いたプログラムを解読したいと思います。プログラムは通常動作させるためにhttp認証が必要です。だからプログラムを解体すれば、http応答の内容を偽装して、私が認証済みユーザーだとプログラムに認識させたり、偽のhttp応答を作ったりできます。いろいろな方法があります。今日考えたのは、DNSハイジャック方法を使ってドメイン名の対応するIPアドレスを偽造し、http応答内容を偽作できるかどうかです。

DNSハイジャックを実装する最も簡単な方法はhostsファイルです。インターネット上には多くの具体的な方法があります。今日はC#でDNSハイジャックガジェットを書いてみましょう

最初のステップは、その時にプログラムを書き上げ、そのプログラムの目的はプログラムを設置することでしたwww.itsvse.com解析は127.0.0.1を示しており、IISで80ポートのウェブサイトを構築しました。このステップは言うまでもなく、ソースコードは一番下にあります。



次のステップは、マシンのDNSサーバーを127.0.0.1に変更することです。以下の図に示されています。


三つ目のステップは、私たちが書いたプログラムを起動し、その後ウェブサイトからアクセスすることですwww.itsvse.comウェブサイトから返送されるコンテンツは、当サイトの本物の内容ではありません! 別のウェブページの内容は完全に偽造されており、以下に示されています。



百度を開くと、百度は開けない。なぜなら私たちはただ反応するだけだからだwww.itsvse.comドメイン名要求の解決は、下図のように他のドメイン名解決によって無視されます。



DNSハイジャックにはどう対処すればいいのでしょうか? 方法は多岐にわたりますが、方針や対策もあります。槍が強いのか、それとも盾が強いのか?

はは、決まりです。

ソースコードダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える





先の:XMLがSQL文を処理する際、小さい記号と大きい記号の変換を処理します
次に:ShadowsocksRとShadowsocksの違い
掲載地 2017/12/27 10:54:20 |
この投稿は2017年12月27日13:52にZmoli775によって最後に編集されました。

百度を開くと、百度は開けない。なぜなら私たちはただ反応するだけだからだwww.itsvse.comドメイン名要求の解決は、下図のように他のドメイン名解決によって無視されます。
指定されたURLをハイジャックできますか?ドメイン名の他の部分は通常アクセス可能ですが、どうやって操作すればいいのでしょうか!---不注意すぎて、注意を払わなかった...



掲載地 2019/12/12 0:24:37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RecordType == RecordType.A)
                {
                    if (domainnew == "www.test.com")) // QQドメイン名をハイジャックする
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. 名前、36000、IPAアドレス.解析("192.168.15.15")); カスタムAレコードを返す
                        Response.ReturnCode = ReturnCode.NoError;
                    }
                    そうでなければ
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff")。 ToString() + 「--- リクエストドメインは公開DNSクエリに転送される必要があります」 + Environment.NewLine);
                        DnsClient dnsClient = new DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        dnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. 名前、RecordType.A);

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

                        foreach(dnsRecordBase dnsRecord in dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord as ARecord;
                            もし(aRecord != null)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. 名前、36、aRecord.Address))。 127.0.0.1のレコードを返してください。これはマシンです
                                Response.ReturnCode = ReturnCode.NoError;
                            }
                            そうでなければ
                            {
                                続けてください;
                            }
                        }



                    }
                }
 地主| 掲載地 2017/12/08 15:47:28 |
掲載地 2017/11/10 10:45:14 |
共有ありがとうございます、良い情報です
掲載地 2017/11/10 10:49:29 |
共有ありがとうございます。興味があります
掲載地 2017/11/10 11:29:38 電話から |
いやいや、白くて、柔らかい
掲載地 2017/11/11 1:49:29 |
共有してくれてありがとう
掲載地 2017/11/12 14:33:21 |
学ぶために
掲載地 2017/11/14 16:05:10 |
RE: .net/c# 实现dns劫持源代码
掲載地 2017/11/16 10:41:11 |
すごい~~ 大きいやつ
掲載地 2017/12/14 16:26:31 |
すごい、すごい
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com