これは、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 サブ要素の水平および垂直中央揃えの例
目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...
次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...
iPadなどのモバイル端末の普及により、人々がモバイル端末で読書に費やす時間はますます長くなり、読...
1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...
ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...
ストレステストにログインする際には、多くの異なるユーザーが必要となり、データベースに新しいデータを追...
1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...
このブログのすべてのコンテンツは、クリエイティブ コモンズ ライセンスの下でライセンスされています。...
質問まず、私が遭遇した問題についてお話しします。まず、そういった需要があるわけです。フロントエンドは...
HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...
目次序文データバインディングとは何ですか? Angular のデータバインディングの種類一方向データ...
1. Tomcatをインストールする1. Docker HubでTomcatイメージを見つける d...
システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...
Keepalived のインストール: cd <keepalived_sourcecode_p...
<br />テーブルは、昔から誰もが使ってきたタグで、今も使われています。しかし、現在の...