什么是“Trailing Host Header”,我该如何测试它?

信息安全 http 华夫
2021-09-05 02:50:42

我的团队一直在根据今年 Black Hat 发布WAF 测试工具对 WAF 保护进行一些研究在该工具中,有一个主机名规避测试列表- 这实际上只是手动测试的想法大纲。

只有一个让我们感到困惑 - 什么是作为主机名规避技术的“尾随主机标头”?

任何人都可以为此建议一个可行的测试吗?

1个回答

客户端使用 Host-header 来指示它想要与哪个服务器名称通话。可以从一个 IP 地址提供多个网站。

在 HTTP 协议中,数据可能以多个块的形式发送。如果服务器在完成请求之前不知道数据的大小(例如,直播流或开始发送一些结果同时仍在处理其余部分的 Web 应用程序),这将特别有用。

详见3.6.1 分块传输编码

chunk-size 字段是一串十六进制数字,表示块的大小。分块编码以任何大小为零的块结束,然后是尾部,以空行终止。

尾部允许发送者在消息末尾包含额外的 HTTP 头字段。

即使客户端正在上传大小未知的东西,它也会知道当时的目标位置,它打开了连接。因此,将 Host 标头放在数据后面的尾部是没有意义的。

如果请求由处理访问规则的反向代理(也称为 Web 应用程序防火墙)处理,则这种情况可能是可利用的:反向代理可能会看到主机标头之一,但 Web 应用程序可能会看到另一个。