Hello there, ('ω')ノ
エラーページに奇妙な(不可能な)可能性のあるXSSを。
脆弱性:
反射型XSS
記事:
https://komradz86.medium.com/weird-im-possible-xss-on-error-page-a0b943ead41
今回のターゲットを、test.comとすると。
このWebサイトでは、エラーページが無効になっていて。
バックグラウンドを使用してWebサイト自体に統合されていて。
悪意のあるものを追加しようとしても、別のページにリダイレクトされて。
ただ、test.com/testで、エラー(Reflection Exception)を取得することができて。
このエラーに関する詳細情報を検索し始めたところ。
一部のリサーチャーが、htmlを挿入できたことがわかって。
このエラーをどのように見つけたかというと。
元のページ(test.com/test)にディレクトリに拡張子を追加したわけで。
test.com/test.php、またはtest.com/test.aspxをテストしたところ。
エラーページが表示されたので、エラーページのエラーメッセージを。
自分のエラーメッセージに操作できることがわかって。
次に何か他のものをチェックし始めると。
しばらくして、テスト中に同じエラーページに出くわすことに。
HTMLインジェクションをテストすると。
エラーメッセージが太字や下線付きなどで、HTMLをインジェクションできて。
次にXSSのテストを開始して、本の中で実行できるすべてのことを行って。
多くのペイロードをテストすると。
ページが特定のタグにのみ応答して、他のタグが無視されているのが奇妙で。
HTMLタグを再テストしたところ、同じことが起こって。
タグが受け入れられない場合は、ホームページにリダイレクトされるようで。
他のすべてのタグの代わりに<img src=タグを使用してXSSペイロードを挿入すると。
画像がインポートされていることを示す小さなアイコンが、ページに反映されたので。
これで、XSSを取得できたと思って。
さらに試したすべてのペイロードは、ホームページにリダイレクトされたので。
はじめのページに戻ったので怪しく思って。
さらにペイロードを試していると、下記(例)がWeb管理者によって。
使用されたホームページ、またはエラーページにリダイレクトされてたので。
<script>alert(1)</script>
Webサイトで悪意のあるコードを検出するために管理者が知らなかったのは。
タグを閉じなくても悪意のあるペイロードを挿入できたという、ある種の設定ミスで。
例:<script>alert(1)
そして、各ペイロードを試した後に、初めに書いたようにtest.aspxを削除して。
ペイロードをディレクトリとして追加して、ペイロードを.aspxで終了することに。
最終的なペイロードは下記のとおりで。
%3Cimg%20src=%22'%22id=’%3Cimg%20src=%22%22%3E’onerror=alert(1).aspx
⇧
<img src="'"id='<img src="">'onerror=alert(1).aspx
ちょっとわかりずらいかも。
Best regards, (^^ゞ