Hello there, ('ω')ノ
Double Encoding を使用した反映された XSSを。
脆弱性:
記事:
https://infosecwriteups.com/got-another-xss-using-double-encoding-e6493a9f7368
Double Encoding の攻撃手法は、ユーザ要求パラメータを 16 進数形式で。
2 回エンコードして、セキュリティ制御をバイパスしたり。
アプリケーションから予期しない動作を引き起こしたりすることで構成され。
これが可能なのは、Web サーバがクライアント リクエストを。
多くのエンコードされた形式で受け入れて処理するためで。
入力フィールドがある場合、クロスサイト スクリプティングの可能性があり。
現在、非常に基本的な方法を使用しながら、バグを見つけて。
より多くの方法とバグを学習して自分自身を改善しようとしていて。
いくつかのターゲットを調べて入力フィールド (検索ボックスなど) を。
テストしているときに、興味深い入力フィールドを取得し。
通常の入力を入力したところで。
下記が、検索バーで。
そしてソースコードをチェックを。
次に、一重引用符を追加しましたが、入力がフィルタリングされ。
hello1& に置き換えられ。
いくつかの場所で、ターゲット フィールドに「&」を使用して。
そこでURLエンコーディングを試しましたが、同じ出力が得られ。
これは、入力をデコードすることを意味して。
そこで、ダブルエンコーディングを使用することに。
ダブルエンコーディングを使用すると、ユーザ入力を 1 回だけ。
デコードするセキュリティ フィルターをバイパスでき。
2 番目のデコード プロセスは、エンコードされたデータを適切に。
処理するバックエンド プラットフォームまたはモジュールによって実行されますが。
対応するセキュリティ チェックは実施されておらず。
次に、基本的なペイロード「 ‘><script>alert(1)</script> 」を。
ダブルエンコードで試して。
%2527%253E%253Cscript%253Ealert%25281%2529%253C%252Fscript%253E
しかし、それはエラーとなり。
それを利用して悪用する入力タグの属性を検索して。
onfocus : onfocus イベントは、要素がフォーカスを取得したときに発生して。
‘ onfocus=’alert(1)’
⇩
%2527%2520onfocus%253D%2527alert%25281%2529%2527%2520
検索バーをクリックすると、ポップアップ アラートが表示され。
しかし、オートフォーカスを使用して少し変更することを考え。
これにより、ページの読み込み時にテキスト フィールドが自動的にフォーカスされ。
ページ自体にアクセスしているときにポップアップ アラートが作成されて。
‘ onfocus=’alert(1)’ autofocus=’
⇩
%2527%2520onfocus%253D%2527alert%25281%2529%2527%2520autofocus%253D%2527
他に次のようなペイロードを使用することもできて。
‘ onmouseover=’alert(1)’
⇩
%2527%2520onmouseover%253D%2527alert%25281%2529%2527%2520
Best regards, (^^ゞ