学术安全
Contents
#多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来减轻攻击的危害