Shikata Ga Nai

Private? There is no such things.

Web cache poisoning with an unkeyed cookieをやってみた

Hello there, ('ω')ノ

 

キーのないCookieによるWebキャッシュポイズニングを。

 

キャッシュによるCookieに欠陥のある処理は。

Webキャッシュポイズニング技術を使用して悪用される可能性があって。

ただ、実際にはヘッダベースのキャッシュポイズニングと比較して比較的まれで。

今回は、Cookieがキャッシュキーに含まれていないので。

Webキャッシュポイズニングに対して脆弱で。 

 

f:id:ThisIsOne:20210118154107p:plain

 

リクエストとレスポンスのデータを比較すると。

レスポンスでリクエストのクッキーのデータを設定していて。

 fehost=prod-cache-01

 

f:id:ThisIsOne:20210118154042p:plain

 

リピーターでキャッシュバスタークエリパラメータを変更して送信してみても。

リクエストで設定されていることが確認できて。

 fehost=hack-cache-01

 

f:id:ThisIsOne:20210118154249p:plain

 

もう一度、送信すると下記のように正常にキャッシュされて。

 X-Cache: hit

 

f:id:ThisIsOne:20210118154530p:plain

 

XSS ペイロードをCookieのfehostに。

 fehost=hack-cache-01"-alert(1)-"hack-cache-01

 

f:id:ThisIsOne:20210118154559p:plain

 

リクエストのURLとブラウザのURLを確認して。

 "host":"ac6a1f711edbe81b801014d9001200aa.web-security-academy.net"

 

f:id:ThisIsOne:20210118154757p:plain

 

ブラウザに"host"+"path"+"frontend"のURLをロードして。

 /hack-cache-01"-alert(1)-"hack-cache-01

 

f:id:ThisIsOne:20210118154956p:plain

 

alert()が発生することを確認して。

 

f:id:ThisIsOne:20210118155030p:plain

 

戻ってリロードするとクリアできた。

 

f:id:ThisIsOne:20210118155101p:plain

 

Best regards, (^^ゞ