これは、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 サブ要素の水平および垂直中央揃えの例
序文実際のプロジェクトの開発では、通常、プロジェクト開発フェーズ、テストフェーズ、最終オンラインフェ...
基本的な使い方 <!DOCTYPE html> <html lang="...
で+ 時間 17:23に at> touch /mnt/file{1..9} ##アクションを...
1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...
HTML は、Baidu 百科事典のナビゲーション ドロップダウン メニュー機能を模倣します。具体的...
1. Web ページをデザインするときに、幅を決定するのは非常に面倒な作業です。 jb51.net ...
1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...
目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...
ステップ1. MySQLスロークエリを有効にする方法1: 設定ファイルを変更するWindows: W...
PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...
目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...
通常、IE ブラウザでの CSS の互換性の問題を解決するために、フロート レイアウトが使用されます...
今回はレイアウトを中心に学習しますが、これは基本的なHTMLタグのほとんどにも存在するため、比較的簡...
目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...
Nginx を設定する 3 つの方法最初の方法は、位置一致部分を直接置き換える。 2 番目の pro...