訳:
Stored XSS Filter Bypass in the Skills section | by Xalgord | Medium | Medium
訳:
1. ターゲットを見つける
私は対象の Web サイトを選択し、通常のユーザーとしてそれを探索し。
サインアップしてログインした後、アカウントを持つユーザーが利用できるさまざまなセクションを確認でき。
2. 脆弱なセクションの調査 :
オプションの中から、「設定」をクリックし、次に「プロファイルの概要」をクリックしました。
ここで、ユーザーが自分のスキルをリストできる場所を見つけ。
これは、XSS エクスプロイトをテストするのに適した場所だと思われ。
3. 最初のペイロードの試行 :
私は単純なペイロードから始めました。
<script>alert(1)</script>
その後、https://target.com/pub/[username]で一般にアクセスできるプロフィール ページを開いたところ、すべてが削除されていて。
4. より高度なことを試してみる :
懲りずに、別のペイロードを試してみました。
<img/src=x onerror=alert(document.cookie)>
残念ながら、このフィールドには 30 文字の制限がありました。HTML コードを詳しく調べて、制限を 300 文字に拡張しました。このペイロードを使用しても、予想されるアラートではなく、画像エラーが表示されただけでした。
つまり、ペイロードから疑わしいものを削除しています。
Web サイトが疑わしいコードを検出して削除していることに気づき、ペイロードのエンコードを試し始め。
このようなバリエーションを試しました。
<img/src=x onerror=alert& #40;document.cookie)>
しかし、これらの試みは失敗に終わり。
画期的な方法を模索する中で、ハイパーリンク ペイロードを試してみて。
<a/href=”javascript:alert(1);”>ClickMe
残念ながら、これによりページが 404 エラーにリダイレクトされてしまい。
7. エンコーディングのパズルを解く :
<a/href=”j	a	v	asc	ri	pt:alert(document.cookie)”>
今では警戒は解除されませんでした。
しかし、エンコードが不適切だったために機能しませんでした。
それを修正して。
Replaced: j	a	v	asc	ri	pt (which was actually j a v asc ri pt)
With: javascript (javascript)
最終的に機能したペイロードは以下の通りで。
<a/href=”javascript:alert(document.cookie)”>ClickMe
ほなほな。