これは、IP アドレスが制限されている投票 Web サイトの不正行為の手口です。この方法は、投票 Web サイトのリモート IP アドレス監視の抜け穴を利用します。IP アドレスを偽造するわけではありません。HTTP は TCP の上に構築された 7 番目のレイヤーです。実際の IP アドレスを偽造することは不可能です。最近、友人が投票ソフトウェアを必要としていたので、この投票 Web サイトも調べました。この投票 Web サイトには検証コードがあり、各 IP は 1 票に制限されています。標準的な投票 Web サイトのように見えます。まず検証コードを調べました: この投票ウェブサイトの確認コードは、最初は非常にシンプルで、標準的な位置に標準的な 4 つの数字が並んでおり、簡単に認識できます。その後、認証コードは異なる数字と文字に変更され、位置も異なり、現在ではソフトウェアによる認証コードの認識は難しく、手動での認識も困難になっています。行き詰まったように思えても、必ず抜け道はあります。詳細については次の段落をご覧ください。 分析と調査を続けると、その検証コードチェックに抜け穴があることがわかりました。この抜け穴を発見した後、検証コードは役に立たなくなりました。識別も検証コードも必要ありません。投票オプションページにjsコードを設定し、検証コードが空かどうかを確認するだけなので、直接バイパスできます。jsコードはクライアント上で実行され、この検証の効果はゼロです。一般的に、JS検証はユーザーの利便性のためだけのものです。投票Webサイトとして、この検証方法のみを使用します。投票処理の動的ページで検証コードが空かどうかをチェックしません。これは本当に受け入れられず、Webサイトのセキュリティに大きな脅威をもたらします。 認証コードの問題に関しては、私はすでにその解決方法を学びました。投票時に認証コードファイルに直接アクセスしない限り、認証コードは空になります。その動的ページは認証コードが空かどうかをチェックしないので、投稿時に認証コードパラメータが空である限り、問題ありません。 さらに別の問題があります。この投票ウェブサイトは IP をチェックし、1 つの IP につき 1 票しか投票できないように制限します。したがって、これを実現するには、プロキシを使用するか、インターネットから定期的に切断してダイヤルアップ接続するしかありません。他に良い解決策が思いつかなかったのですが、友人がこのウェブサイトで非常に素早く投票できるプログラムを見つけました。このプログラムの IP ソリューションに非常に興味があったので、友人に分析してもらいました。 まず、投票ソフトウェアのパケットをキャプチャして調査するという方法を取りました。準備ができたら、投票プログラムを開くと、「シュッ!ソフトウェアの競合が発生しました!」 ああ、まさか。その後、いくつかのプログラムを閉じて、パケット キャプチャ プログラムだけを残しましたが、それでも競合が発生しました。ハハ、このプログラムは、誰かがソフトウェアを分析する可能性があることを知っていて、実際にプロセス名をスキャンして、疑わしいプログラムがないかどうかを確認していることがわかりました。プログラムがそれを分析したり、パケットをキャプチャしたりすると、実行を拒否します。ハハ、現在、制限されているソフトウェアには、Easy Language プログラミング ソフトウェアと WSockExpert_Cn パケット キャプチャ ソフトウェアが含まれていることがわかっています。ハハハ、Easy Languageを閉じて、WSockExpert_Cnの名前を変更し、ソフトウェア独自のセキュリティテストに合格して正常に実行されました。 以下は使用中に私が投票したデータ パケットです。 XML/HTML コードコンテンツをクリップボードにコピー
-Forwarded-For という http ヘッダーパラメータとその後に IP が続いているのを見つけました。ハハ、このパラメータには歴史があるに違いありません。以前は知りませんでした。ハハ、すぐに Baidu で検索しました。 以下はBaiduの解説記事です。非常にわかりやすく説明されているので、ぜひご覧ください。 これは、RFC で定義されている標準のリクエスト ヘッダー情報ではありません。この項目の詳細な概要については、Squid キャッシュ プロキシ サーバーの開発ドキュメントを参照してください。 標準形式は次のとおりです。 X-Forwarded-For: クライアント1、プロキシ1、プロキシ2 標準フォーマットからわかるように、X-Forwarded-For ヘッダー情報はカンマで区切られて複数存在することがあります。最初の項目は実際のクライアント IP で、残りは通過したプロキシまたはロードバランサーの IP アドレスです。これらは複数存在します。 Wiki の X-Forwarded-For の説明 http://en.wikipedia.org/wiki/X-Forwarded-For 分析: クライアント IP を偽造したいので、まずはクライアント IP アドレスを取得する方法を見てみましょう (例として PHP を使用)。このコードは Baidu で検索して見つかりました。ほとんどの Web サイトはこのコードを使用している可能性があります。 XML/HTML コードコンテンツをクリップボードにコピー
まず、HTTP_VIA ヘッダーが存在するかどうかを判断します。HTTP_VIA ヘッダーは、プロキシ サーバーが使用されているかどうかを示します。使用されていない場合は、REMOTE_ADDR フィールドからクライアントの IP アドレスを取得します。使用されている場合は、X-Forwarded-For からクライアントの IP アドレスを取得します。多くのプログラマーは、Baidu からコードを取得していると思います。ASP も同様です。 それではテストしてみましょう。 サーバーコード: XML/HTML コードコンテンツをクリップボードにコピー
取得したクライアント IP アドレスが異なることがわかります。REMOTE_ADDR が実際のアドレスです。 したがって、Web サイトが X-Forwarded-For からクライアントの IP アドレスを決定する場合、この論理的な抜け穴を利用して不正行為を行うことができます。 |
>>: CSS を使用した div サブ要素の水平および垂直中央揃えの例
目次1. 生放送効果2. ライブストリーミングを開始する手順2.1 Tencent Web(高速ライ...
目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....
社内の同僚は Nginx ログの標準出力、つまりコンソール経由の処理を必要としているため、まずログを...
LOFTER のコンテストで、ログイン ボックスを再設計できると言及されているのを見ました。過去 2...
最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...
目次1. 背景: 2. デザインのアイデア: 3. 起動スクリプトを書く4. イメージを構築する5....
序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...
概要今日は主に、MySQL データベースから binlog ログを正しく削除する方法を紹介します。ロ...
1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...
では早速、コードをお見せしましょう。具体的なコードは次のとおりです。 #!/bin/bash cd ...
今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...
1. 何ですか マークアップ言語として、CSSは比較的シンプルな構文とユーザーに対する要件が低いが、...
jar パッケージを Docker コンテナに変換する方法1.まずJavaイメージをダウンロードする...
仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...
CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...