http host头攻击漏洞
2020-11-04 09:41
791 查看
原文地址: https://www.zhuyilong.fun/tech/handel_httphost_attack.html
漏洞描述
为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER["HTTP_HOST"]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。
解决办法
web应用程序应该使用SERVER_NAME而不是host header。
在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。
具体步骤
项目代码
程序编写中避免使用HTTP_HOST,如有需要使用SERVER_NAME替代
nginx配置
- 配置文件中server_name上设置具体域名.eg:
server_name example.com;
- 在nginx上设置一个default_server处理其他域名来处理默认的请求.即,非设置域名返回一个http status code 4xx 的代码
server{ listen 80 default_server; server_name _; return 400; }
Apache配置
- 方法一: 修改\conf\httpd.conf配置文件中server_name,设置具体域名.eg:
ServerName example.com:80 # 指定域名和端口号
添加下列行
UseCanonicalName On # 使用指定的域名和端口号
- 方法二: 修改\conf\httpd.conf文件,参考以下配置添加:
NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> ServerName 127.0.0.1 <Location /> Order Allow,Deny Deny from all # 拒绝直接通过IP地址的任何访问 </Location> </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot "C:\www\example" ServerName example.com # 仅允许通过域名访问 </VirtualHost>
- 方法三: 修改\conf\httpd.conf文件,找到"#LoadModule rewrite_module modules/mod_rewrite.so"去除前面的"#"号,添加类似以下配置:
RewriteEngine on RewriteCond %{HTTP_HOST} !^127.0.0.1$ [NC] RewriteRule ^(.*)$ /error.html
配置修改后都需要重启nginx/apache
相关文章推荐
- 目标URL存在跨站漏洞和目标URL存在http host头攻击漏洞处理方案
- 检测到目标URL存在http host头攻击漏洞
- URL存在http host头攻击漏洞-修复方案
- 检测到目标URL存在http host头攻击漏洞
- 绿盟科技 web检测到目标URL存在http host头攻击漏洞
- Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法
- java 漏洞处理--http host头攻击漏洞处理方案
- 目标URL存在跨站漏洞和目标URL存在http host头攻击漏洞处理方案
- Java Web项目漏洞: 检测到目标URL存在http host头攻击漏洞解决办法
- 检测到目标URL存在http host头攻击漏洞
- python3基础学习(http host头攻击漏洞POC)
- Web漏洞处理--http host头攻击漏洞处理方案/检测到目标URL存在宽字节跨站漏洞/ 检测到目标URL存在SQL注入漏洞
- Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法
- 目标URL存在http host头攻击漏洞tomcat修复方法
- 利用HTTP host头攻击的技术
- 第四章:iOS应用漏洞利用 ——4.16 HTTP/HTTPS分析和攻击策略
- XSS漏洞攻击相关知识
- JavaScript新安全漏洞成为黑客新攻击点
- 使用spring cloud zuul通过sidecar转发请求到python服务,报NoHttpResponseException:host:port failed to respond
- X-Scan扫描端口80,443提示http TRACE 跨站攻击漏洞解决办法