我有一个一般的网络问题,但它与安全方面有关。这是我的案例:我有一个被恶意软件感染的主机。该恶意软件创建一个http数据包来与其命令和控制服务器进行通信。在构造数据包时,IP层包含命令和控制服务器的正确IP地址。tcp层包含正确的端口号80。在发送数据包之前,恶意软件会修改http报头,将主机报头替换为“google.com”,而不是其服务器地址。然后,它将窃取的数据附加到数据包中并将其发送出去。我的理解是,数据包将被传送到正确的服务器,因为路由将基于IP进行。但是,我是否可以在此IP上托管一台and服务器,以接收所有带有报头主机google.com的数据包并正确解析它?根据我在互联网上的阅读,这是可能的,但如果真的那么容易,那么为什么恶意软件作者没有采用这种技术来欺骗http报头并绕过传统的域白名单引擎。
发布于 2017-12-01 00:34:11
当您向Apache2服务器发出请求时,实际上Apache所做的是将您的"Host“头与服务器配置中的任何VirtualHost进行匹配。只有在无法找到/无效时,Apache才会将请求路由到默认的虚拟主机(如果已定义)。基本上,没有什么能阻止您更改这些头文件。
您可以简单地通过编辑您的hosts文件并将google.com指向任何其他IP来测试它-您将能够在您的服务器上处理google.com域,但只有您的才能以这种方式使用它-其他人都不能。
您在HTTP标头中发送的任何内容都不应该被信任-它只是指导您的服务器如何实际处理流量的指南。
发布于 2017-12-01 05:42:48
伪造的主机头只是为了欺骗一些深度检查防火墙(“它是给Google的?你可能会通过……”)。该IP上的服务器要么不关心主机头(默认vhost),要么显式配置为接受它。
通过使用假标头或仅仅作为标头后面的普通数据来传递战利品是欺骗数据丢失预防的另一个技巧。
这些方法可能会误导浅层的应用层检查,但不会通过一个像样的防火墙。
https://stackoverflow.com/questions/47578067
复制相似问题