Shikata Ga Nai

Private? There is no such things.

Reflected XSS into a JavaScript string with angle brackets HTML encodedをやってみた

Hello there, ('ω')ノ

 

HTMLでエンコードされた区切り符号のJavaScript文字列で反射XSSを。

まずは、動作確認から。

 

f:id:ThisIsOne:20210223221425p:plain

 

ちなみにレスポンスを見るとencodeURIComponent() 関数が使われていて。

この関数でエスケープされないものは以下のとおりで。

 A-Z a-z 0-9 - _ . ! ~ * ' ( )

 

f:id:ThisIsOne:20210223221604p:plain

 

XSSコンテキストが引用符で囲まれた文字列リテラル内にある場合だと。

文字列から抜け出してJavaScriptを直接実行できることがよくあるので。

文字列リテラルから抜け出すために下記のペイロードを入力すると。

 '-alert(1)-'

 

f:id:ThisIsOne:20210223222008p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210223222031p:plain

 

Javascript Context Code Injectionは、下記のものがあって。

別のペイロードを使用してもクリアできた。

 '-alert(1)-'

 '-alert(1)//

 

f:id:ThisIsOne:20210223222412p:plain

 

Best regards, (^^ゞ