Shikata Ga Nai

Private? There is no such things.

Juice ShopのReflected XSSをやってみた

Hello there, ('ω')ノ

 

反射型XSS攻撃を実行せよと。

 

f:id:ThisIsOne:20210625215912p:plain

 

まずは、ログインして。

 

f:id:ThisIsOne:20210625215838p:plain

 

製品を選んで、Checkoutして。

 

f:id:ThisIsOne:20210625220324p:plain

 

アドレスを登録して。

 

f:id:ThisIsOne:20210625220426p:plain

 

アドレスを選択して、Continueして。

 

f:id:ThisIsOne:20210625220517p:plain

 

delivery speedを選んで、Continueして。

 

f:id:ThisIsOne:20210625220547p:plain

 

カード情報を入力して、Submitして。

 

f:id:ThisIsOne:20210625220801p:plain

 

支払い方法を選択して、Continueして。

 

f:id:ThisIsOne:20210625220834p:plain

 

order and payして。

 

f:id:ThisIsOne:20210625220931p:plain

 

Track Ordersをクリックすると。

 

f:id:ThisIsOne:20210625221131p:plain

 

idをキーにして、検索結果が表示されるので。

 

f:id:ThisIsOne:20210625221253p:plain

 

パラメータにペイロードを仕掛けて。

 localhost:3000/#/track-result/new?id=<iframe src="javascript:alert(`xss`)">

f:id:ThisIsOne:20210625221517p:plain

 

リロードすると、スクリプトが実行されてクリアできた。

 

f:id:ThisIsOne:20210625221652p:plain

 

途中に入力項目があって、そこにペイロードを仕掛けることもありますが。

データベースへの保存が考えられて。

今回は、反射型であって保存型ではないのでここではなさそうで。

 

f:id:ThisIsOne:20210626080729p:plain

 

実際に入力してみると結果は、下記のとおりで。

 

f:id:ThisIsOne:20210626080816p:plain

 

他も同じく。

 

f:id:ThisIsOne:20210626080959p:plain

 

結果は、下記のとおりで。

とはいっても、この程度のペイロードで保存型XSSがないとはいえないのですが。

 

f:id:ThisIsOne:20210626081100p:plain

 

ちなみに、idに下記のペイロード仕掛けてみると何も反応はなくて。

 <script>alert("XSS");</script>

 

f:id:ThisIsOne:20210626084627p:plain

 

下記のペイロードを仕掛けてみるとiframeに反応することがわかったので。

 <iframe onload iframe onload="javascript:javascript:alert(1)"></iframe onload>

 

f:id:ThisIsOne:20210626082035p:plain

 

そこで、iframeをつかったシンプルなペイロードで実行すると攻撃できて。

 <iframe src=javascript:alert(2)>

 

f:id:ThisIsOne:20210626082643p:plain

 

Best regards, (^^ゞ