#多host头

发送带有多 Host 的http 请求,downstream 与 upstream 可能理解成不同的 host地址,此情况出现条件较为复杂

#Host头增加前后空格

不同系统对空格理解不一致,歧义再次产生
request uri是绝对路径

#绝对路径被当作相对路径解析

当Absoult-URL与Host同时出现时,除了akamai大多数遵循RFC
造成攻击

#缓存污染

任意网站Squid透明缓存污染

针对 squid重灾区,通过request-uri路径标识进行欺骗,首先发送欺骗请求至 attack.comg攻击者自己搭的服务器,squid缓存判断attack.com == 1.1.1.1 记录 cache,cache host被记录为 victim.com,造成之后命中 cache都被定向到 attack 恶意攻击网站.
squid缓存污染可污染任意网站,危害很严重,在小区缓存或校园 cache都可能严重的污染定向问题。

Co-hosting透明缓存污染

针对 host 空格的解析出现问题
条件:attack.com和victim使用同一家CDN

DN缓存污染

作者针对alibaba解析多 host时出现的 host 顺序调整进行测试,出现CDN-> Squid host倒置的问题
host的处理不一致

#防火墙绕过

ESET优先访问第二个host
Nginx优先访问第一个内容

WAF绕过

request URI scheme attack

歧义组合

存在202个可以被利用的Downstream-Upstream组合

#检测存在与攻击

网站广告
客户端广告

#防御

RFC标准应准确无误
对于厂商,不同系统应完全遵循RFC7230
拒绝多Host头包含前后空格的Host头请求
对于网站管理员,可以部署https,并启用pre-loaded HSTS来减轻攻击的危害