Hello there, ('ω')ノ
XSSについては、反射型と保存型をやってきたので。
次にDOMベースについて。
ページにデータを書き出すのにJavaScriptだとdocument.write関数を使用して。
document.write関数は、location.searchからのデータを使用して呼び出すわけで。
下記のようなページを見るとデータベースへアクセスすると考えられるので。
SQLインジェクションも考えられて。
まずは、文字列を入力して検索してみると。
検索文字列が反映されているので。
どのように表示されているかを探ることに。
ちなみに検索にヒットすると下記のような表示となって。
レスポンスを確認していくと、まずは検索文字列が表示される箇所が見つかって。
さらに見ていくとJava Scriptのdocument,writeで何かを表示していて。
ブラウザのソースコードを確認してみると。
レスポンスにあるqueryが、検索文字列だということがわかって。
ちなみに検索にヒットした場合だと、ソースコードとページの関係は下記のとおりで。
再度、レスポンスに戻ってJava Scriptのqueryの処理について確認してみると。
検索文字列の取り扱いがわかってきたので。
queryに下記の文字列をいれてimgタグが閉じれるかを確認することに。
'">'
検索エリアに入力してみると。
imgタグが閉じられて、残りの宙ぶらりんとなった文字が誤って表示されたので。
脆弱性の可能性があると判断して。
imgタグを閉じて、そのあとにペイロードを挿入してみることに。
ペイロードが機能したようで、ポップアップが表示されて。
念のため、このエンドポイントについてアクティブスキャンを。
ペイロードは異なるものの、同様のDOMベースのXSSの脆弱性が検出されて。
Best regards, (^^ゞ