概要
-攻撃シナリオの例
- CSRF攻撃は条件が必要
- CSRFとXSSの違いを
-どのようにCSRFの脆弱性標的部位があるかどうかを確認するために、
CSRF(GET)
CSRF(POST)
CSRF(トークン)
保護措置を
アウトライン
CSRFは 、クロスサイトリクエストフォージェリ の短い、中国と呼ばれるクロスドメインリクエストフォージェリ
CSRF攻撃のシナリオでは、攻撃者がすることができます偽の要求(通常はリンク)
そして、ユーザがこの要求をクリックすると、クリックしてターゲットユーザーをだます、この攻撃を終了します
だから、CSRF攻撃はまた、「ワンクリック」攻撃として知られています
攻撃シナリオの例
あなたがしたいショッピングサイト上のルーシー・ショッピング・アドレスを変更するには、この操作は、ルーシーは、ブラウザを介してバックエンドにリクエストを送信されます。それはGET経由して送信された場合、新たな株式のアドレスが含まれているルーシー要求は、それはURL上の図に似た背景に新しいアドレスを提出するURLのパラメータ渡しモードを経由してなり、リンク上の同等のポイントあなたは、個人情報を変更することができます。
攻撃者はどのように行うにルーシーを変更したい場合は、この情報?それから彼は、ルーシーのアカウントを取得する必要がありますログイン権限を取得します。この時間は、彼が個人情報の変更ができリクエストフォージェリは、見て、URLに以下のような攻撃が成功する、ルアールーシーがログインをクリックすると同様の構造を。
CSRF攻撃は条件が必要
①ターゲットサイトを簡単に偽造リクエストにつながる、抗CSRFプロセスの変更について個人情報の変更を要求しません。
そのため、サイトを決定することは全くCSRFの脆弱性を有していない、実際には、(付加および欠失)の鍵情報(パスワードなど)の操作かどうかを決定することで、容易に偽造
リクエストを偽造のリンクをクリックしたとき②ルーシーがログインしているログインしていない場合は、ルーシーは、その後も、ルーシーは効果がありませんリンクをクリックしてください(すでに先のサイトを上陸させました)
ビューCSRFの観点から条件を悪用し、CSRFを使用することの難しさは大きくなるので、CSRF対応するセキュリティのいくつかの低レベルになります
差CSRFとXSS
当社は、クッキーの目的を達成することができ、ユーザを盗むためにXSSを使用し、そしてどのようなCSRFの違い?
- CSRFは、攻撃者はなかった、攻撃を完了するために、ユーザーの権限を経由しているではないユーザーの許可を取得します。個人情報のリンク構造の変更をターゲット、ログイン状態で情報を修正する目的を達成ルーシーを利用するには、このリンクをクリックしてください。
- XSSは、直接盗む、ユーザーの権限を取る、とダメージの実施形態。攻撃者は、ターゲットのクッキー、ログインルーシーの背景を盗み、その後、関連する情報を変更するためにXSSを使用しています。
標的部位CSRFの脆弱性があるかどうかを確認する方法
ローカルCRUDが標識された標的部位、および観察ロジックは、リクエストを偽造することが可能かどうかを決定します。
- 管理者アカウントを変更する場合たとえば、古いパスワードを確認する必要はありません
- そのような機密情報を変更するようにトークンを必要としない検証
資格証明書の有効性を確認します
- quitまたはブラウザをシャットダウンしますが、クッキーがまだ有効でない、またはタイムリーなセッションですが、単純なCSRF攻撃で、その結果、有効期限が切れ
CSRF(取得)
我々はそれをログに記録し、CSRFを(取得)を使用して、ピカチュウプラットフォームのシーンを見て、アカウント持っていたヴィンス/アレン/神戸/グラディ/ケビン/ルーシー/リリ、すべてのパスワード123456
ログインに成功するが、個々のセンターに来ることができた後、あなたはこの中で、あなたの個人情報を変更することができます
当社は、個人情報の内容を表示するためにBurpSuite変更要求パケットキャプチャを利用しながら、我々はアドレスを変更し、それを変更して、個人情報を提出してみてください
提出された要求の観点から、背景はCSRFトークンをしませんでしたが、また、GETリクエストによって提出された情報を修正するために、我々はこれを取得、それを変更し、アドレスがハッカーを追加するように変更にルーシークリックのような、我々はURLを構築しましょう。ルーシーは、変更されたアドレスをクリックします。
192.168。171.133 /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum= 12345678922&追加=ハッカー&Eメール=ルーシー%40pikachu.com&提出=提出
個人情報を変更する要求をGET、すべてのパラメータがURLに反映され、このアプローチは、私たちができる限り、より良い利用して、このリンクを偽造対応する、パラメータは、我々が必要とする値の内容を変更し、ログイン状態となるようにユーザーは、私たちの攻撃を完了するために、クリックします。
CSRF(ポスト)
POSTタイプ場合、リクエストボディに提出されたすべての引数は、我々は偽のURLを経由しないで攻撃されました
ここでPOSTタイプのXSS攻撃だ同じですが、攻撃者がサイトを構築することができたときにユーザーがクリック、ルーシーを誘発し、サイト上のフォームを作成し、このリンクをクリックすると、自動的にCSRFの存在を修正するためにサーバーにPOSTリクエストを送信します個人情報。
攻撃者:192.168.171.129
脆弱性サーバ:192.168.171.133
Post.htmlはカリ/ var / www / htmlと設定/ピカチュウ/ doge_csrfに、以下に示すページコードは、このページの記事を書き、その後、サービスはApacheを起動します
< HTML > < ヘッド> < スクリプト> window.onload = 関数(){ のdocument.getElementById(" postsubmit " ).click(); } </ スクリプト> </ ヘッド> < ボディ> < フォームメソッド= "ポスト" アクション= "http://192.168.171.133/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" > < 入力ID = "性別" タイプ=「テキスト」名前=」 /> < 入力ID = "PHONENUM" タイプ= "テキスト" 名前= "PHONENUM" 値= "12345678922" /> < 入力ID = "追加" タイプ= "テキスト" 名前= "追加" 値= "ハッカー" /> < 入力ID = "メール" タイプ= "テキスト" 名前= "メール" 値= "[email protected]" /> < 入力ID = "postsubmit" タイプ=」提出し、」 名前= 『提出』値= 『』提出 /> </ フォーム> </ ボディ> </ HTML >
このリンクをクリックするだけ、犠牲者への被害を送信するには、次のページのURLと、自動的にアドレス情報を変更し、サーバにPOSTリクエストを送信します
http:// 192.168.171.129/pikachu/doge_csrf/post.html
CSRF(トークン)
主な問題は、我々は、トークンの要求に参加できるように簡単に、偽造CSRF敏感な操作が簡単に偽造できないということです
- 各要求は、たランダムコードを増加させた(簡単に偽造されていない、十分にランダム必要)、それぞれがバックアップ検証のため、このランダムなコードを
私たちは、CSRFピカチュウプラットフォーム(トークン)のページを入力してログオンし、我々は、GETリクエストを見ることができます
我々は偽のURLことはできませんが、トークンがランダムであるため、トークンの背景が提出された場合、トークンよりは、検証されたフロントを、比較してください。
保護対策
- トークン増加の検証(一般的な方法)
- トークンキー動作パラメータの増加、トークンがランダムにする必要があり、それぞれが異なっています
- 安全なセッション管理について(セッションが使用されるのを避けるため)
- クライアント上の機密情報を格納しないでください(認証情報など)
- あなたはブラウザセッション機構を満了し閉じ、終了
- メカニズムを介してセッションを設定し、非アクティブの15分を言う、自動ログインのタイムアウト
- アクセス制御のセキュリティ管理
- 必要なアカウントのパスワードを変更するよう、機密情報の二次認証の状態を変更するときは、古いパスワードを決定する必要があります
- POSTを使用して機密情報を変更するのではなく、GET
- HTTPヘッダREFERERを介して元のページを制限します
- 増加した検証コード
- (抗ブルートフォース)、それはまたの操作に関するその他の重要な情報の形で使用することができ、一般的にログイン(可用性を検討する必要があります)