Cache Poisoning to DoS
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
在此页面中,您可以找到不同的变体,以尝试使 Web 服务器对有效的缓存服务器请求 响应错误。
HTTP Header Oversize (HHO)
发送一个请求,头部大小大于 Web 服务器支持的大小,但小于缓存服务器支持的大小。Web 服务器将以 400 响应进行响应,该响应可能会被缓存:
HTTP Meta Character (HMC) & Unexpected values
发送一个包含一些 有害元字符 的头,例如 和 。为了使攻击有效,您必须首先绕过缓存。
一个配置错误的头部可能只是 \:
作为头部。
如果发送了意外的值,这也可能有效,比如意外的 Content-Type:
未键入的头部
一些网站如果在请求中看到某些特定的头部,例如带有 X-Amz-Website-Location-Redirect: someThing 头部时,会返回错误状态码:
HTTP 方法覆盖攻击 (HMO)
如果服务器支持通过 X-HTTP-Method-Override
、X-HTTP-Method
或 X-Method-Override
等头部更改 HTTP 方法。可以请求一个有效的页面,改变方法使得服务器不支持,从而导致错误的响应被缓存:
未键入端口
如果主机头中的端口在响应中被反射且未包含在缓存键中,则可以将其重定向到未使用的端口:
长重定向 DoS
如以下示例所示,x 没有被缓存,因此攻击者可以利用重定向响应行为,使重定向发送一个如此大的 URL 以至于返回错误。然后,试图在没有未缓存的 x 密钥的情况下访问该 URL 的人将收到错误响应:
主机头部大小写规范化
主机头部应该是不区分大小写的,但某些网站期望它是小写的,如果不是则返回错误:
路径规范化
某些页面在路径中发送数据 URLencode 时会返回错误代码,但缓存服务器会对路径进行 URLdecode 并存储 URLdecoded 路径的响应:
Fat Get
一些缓存服务器,如 Cloudflare,或 web 服务器,停止带有主体的 GET 请求,因此这可能被滥用来缓存无效响应:
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)