キャプチャを取得しています。外部ホストからキャプチャの正確なビジュアルを簡単に取得できると仮定します。これを行うには、参照チェックに合格する必要があります (ほとんどのブラウザー (人間がナビゲートするhttp_referer
) では、. session_id
また、とをsecret
から保存する必要がありhidden input
ます。
結果を確認しています。外部ホストは、保存された変数を最初のリクエストのセッションに関連付けられた変数とリンクする必要があります。これには、トリッキーなcURL
メソッドを実装する必要があります。すべて単一の IP から、複数の並列リクエストを処理する必要があります。
独自にキャプチャを生成する場合よりも、外部ホストでキャプチャをハッキングする場合、サーバーはおそらくより多くのリソースを使用します。
防ぐ
- http_referer チェック
- 単一 IP のリクエストを 1 分あたり 5 などに制限する
- 優れたセッション処理とトリッキーな Cookie
- JavaScript をリバース エンジニアリングすることは不可能ではありませんが、JavaScript が複雑になればなるほど...
- 外部ホストで結果を認識するパターンを見つける必要があります。最も簡単な署名は、
Location
ヘッダー フィールドである可能性があり/path/success.html
ます。/path/tryagain.php
チャレンジ:
例を準備するために少し時間をかけました: http://woisteinebank.de/test/
この例では、キーを にアタッチsession_id();
してデータベースに保存します。リクエストsession_regenerate_id();
ごとに新しいセッションがあります。ではcheck.php
、データベースの値と値を比較し$_GET
ます。
このキャプチャを取得する方法を見つけてみてください。私は防御しようとします。あなたのサイトで私のキャプチャが成功するたびに、私はそれを守ろうとします.