Shikata Ga Nai

Private? There is no such things.

A weird XSSを訳してみた

Hello there, ('ω')ノ

 

奇妙なXSSを。

 

脆弱性:

 反射されたXSS

 

記事:

 https://infosecwriteups.com/a-weird-xss-77c13d135c9f

 

今回は、XSSでの探索を少し異なる方法でやめた方法を。

 

パート1:検索

Webをサーフィンしていていると.xxx.brサイトにたどり着いて。

政府のWebサイトのセキュリティ履歴は非常に悪いので。

アプリケーションを調べて何か見つけたかどうかを確認したいと思って。

最も単純な入力にマルウェアを注入し始めましたが。

すべてが非常によくサニタイズされているように見えて。

 

パート2:ツール

Sublist3rツ​​ールを使用してサブドメインを列挙し始めましたが。

何も奇妙なことではなかったので、ParamSpiderツールに移動して。

見つかったホストのパラメータを分析することに。

 

https://github.com/aboul3la/Sublist3r

f:id:ThisIsOne:20220321130632p:plain

 

https://github.com/devanshbatham/ParamSpider

f:id:ThisIsOne:20220321130711p:plain

 

リストは膨大でリターンが200と404の両方を選んで。

構築が不十分な404ページに何かが反映されているかを確認するのは良いことで。

 

リスト内のすべてのリンクを開いて、それが反映されているかどうかを。

Httpxツールを使用して確認して。

パラメータで、-match-string と -match-regexを使用すると。

次のページを見つけるまで、検索することができて。

 

https://github.com/projectdiscovery/httpx

f:id:ThisIsOne:20220321130810p:plain

 

f:id:ThisIsOne:20220321130516p:plain

 

パラメータはすべて小文字ですが、最初の文字が大文字になり。

残りが小文字になるように反映されてるので、これは固有名の簡単な処理で。

ペイロードを注入して実行されるかどうかを確認しようとしましたが。

alert(1)で動作が適用され(Alert(1))、メソッドが実行されず。

 

f:id:ThisIsOne:20220321130450p:plain



パート3:インジェクション

最初はHTMLインジェクションが機能していたので。

HTMLインジェクションを実行するいくつかの方法を研究し始めて。

」と「」が前に付いた文字の数値を使用して。

HTML文字セットテーブルに到達するまで、画面に文字を表示することができて。

&#文字はURL(それぞれ%26%23)でエンコードされるため。

URL構築記号として扱われず。

 

https://www.w3schools.com/html/html_charset.asp

f:id:ThisIsOne:20220321130914p:plain

 

[Enter]をクリックして、文字が大文字に変更されていないことを確認できて。

 

f:id:ThisIsOne:20220321130422p:plain

 

テストを終了して、次のペイロードが作成して。

このalertは、HTMLエンコーディングとして送信されて。

<img%20src=x%20onerror=”%26%2397%26%23108%26%23101%26%23114%26%23116(1)”>

 

f:id:ThisIsOne:20220321131830p:plain

 

f:id:ThisIsOne:20220321131855p:plain

 

f:id:ThisIsOne:20220321130349p:plain

 

Best regards, (^^ゞ