「Stored XSS Filter Bypass in the Skills section」からXSS (Stored)を学ぶ

訳:

Stored XSS Filter Bypass in the Skills section | by Xalgord | Medium | Medium

 

脆弱性XSS(Stored)

 

訳:

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 文字に拡張しました。このペイロードを使用しても、予想されるアラートではなく、画像エラーが表示されただけでした。

 

つまり、ペイロードから疑わしいものを削除しています。 

 

5. ペイロードエンコーディングを使用する

Web サイトが疑わしいコードを検出して削除していることに気づき、ペイロードエンコードを試し始め。
このようなバリエーションを試しました。

<img/src=x onerror=alert&  #40;document.cookie&#41;> 

しかし、これらの試みは失敗に終わり。 

 

6. 賢いハイパーリンク ペイロードの発見

画期的な方法を模索する中で、ハイパーリンク ペイロードを試してみて。

<a/href=”javascript:alert(1);”>ClickMe

 残念ながら、これによりページが 404 エラーにリダイレクトされてしまい。

 

 

7. エンコーディングのパズルを解く

 

<a/href=”j&Tab;a&Tab;v&Tab;asc&Tab;ri&Tab;pt:alert&lpar;document.cookie&rpar;”>

 

 

今では警戒は解除されませんでした。
しかし、エンコードが不適切だったために機能しませんでした。
それを修正して。

 

Replaced: j&Tab;a&Tab;v&Tab;asc&Tab;ri&Tab;pt (which was actually j a v asc ri pt)
With: j&#97v&#97script (javascript)

 

 

最終的に機能したペイロードは以下の通りで。

 

<a/href=”j&#97v&#97script&#x3A;&#97lert(document.cookie)”>ClickMe

 

 

ほなほな。