|
请求方式 |
GET |
|
URL |
https://23.0.18.231/ |
|
问题参数 |
Host |
|
参考(验证) |
https://23.0.18.231/(HOST)***.*** |
|
详细描述 |
为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER["HTTP_HOST"]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。 |
|
解决办法 |
web应用程序应该使用SERVER_NAME而不是host header。 |
|
威胁分值 |
5 |
|
危险插件 |
否 |
|
发现日期 |
2008-06-12 |
|
CVSS评分 |
6.1(CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) |
系统设置→ 系统→ 基本设置→ 其他23.0.18.231(你漏扫里的那个)[fc00:1010:32::1]GET https://23.0.18.231/,把 Host 篡成 ***.***那项应该不再报。curl -Ik -H "Host: ***.***" https://23.0.18.231/***.***,说明白名单没覆盖到。💡 底层原理:A2000 的 Nginx 开了Host header defend后,会拿请求的Host头跟你配的白名单比对,不匹配直接 403,跟通用 Nginx 里写server_name _; return 444;是一个思路,只是华三封装成 UI 了。
A2000-Cloud R6114P01 修复 HTTP Host 头攻击漏洞完整整改方案
一、漏洞成因说明
A2000-Cloud 内置 Nginx 提供 443/80 管理 Web 服务,默认未校验 HTTP 请求 Host 头部,扫描工具可随意篡改 Host 字段(填任意域名 / 空值),扫描器判定存在 Host 头注入风险;
风险:恶意篡改 Host 头可触发缓存投毒、密码重置劫持、SSRF 等攻击,等保 / 漏洞扫描判定中危漏洞。
设备原生自带Host header defend(主机头防护) 功能,开启后配置合法 IP / 域名白名单,非法 Host 请求直接返回 403,彻底消除该漏洞。
二、两种配置入口(Console 控制台操作,Web 页面无此功能)
方式 1:本地 Console 串口登录(推荐,无需依赖 Web)
串口线连接 A2000-Cloud Console 口,波特率 9600 8N1,输入管理员账号密码登录底层菜单
菜单选择:Nginx Management → Host header defend
第一步开启防护总开关:Host header defend status 选择 enable
第二步添加合法访问白名单(正则表达式,匹配你的管理 IP / 域名)
你的管理地址为 23.0.18.231,添加两条正则:
plaintext
https://23.0.18.231/.*
http://23.0.18.231/.*
若后续会用域名访问(如 ***.***/KZX),额外添加:https://***.***/KZX/.*
规则说明:/.* 代表匹配该 IP / 域名下所有页面路径
保存配置,Nginx 服务自动重载生效。
方式 2:SSH 远程登录底层菜单(能 SSH 连设备时使用)
SSH 登录 A2000-Cloud 管理 IP,输入后台管理员账号
执行命令进入 Nginx 管理菜单:
plaintext
nginxcfg
后续操作和 Console 一致:开启 Host 头防护、添加 IP / 域名正则白名单、保存。
三、白名单填写规范(避免配置后无法登录设备)
仅填写日常运维访问该审计设备的固定 IP、业务域名,不要写通配符.*;
正则示例:
仅 IP 访问:https://23.0.18.231/.*
域名 + IP 双访问:
plaintext
https://23.0.18.231/.*
***.***/.*
白名单缺失合法地址会出现403 Forbidden无法登录 Web,配置时务必核对地址。
四、配套双重加固(彻底规避复测再次报洞)
加固 1:WAF / 攻击策略拦截非法 Host(全局流量过滤)
进入设备 Web 界面:【策略配置】→【攻击防范】→【HTTP 特征过滤】,新增规则:
匹配字段:HTTP Host 头
匹配方式:正则不匹配
匹配内容:23.0.18.231|***.***
动作:丢弃报文 + 日志记录
作用:网络层提前拦截篡改 Host 的恶意请求,双重防护。
加固 2:关闭 HTTP 明文管理,仅保留 HTTPS 443 访问
Web 页面【系统】→【服务管理】,关闭 HTTP 80 端口 Web 服务,仅启用 HTTPS,消除明文传输下的 Host 篡改风险。
五、复测验证步骤
配置完成后,使用漏洞扫描工具重新扫描https://23.0.18.231;
手工验证漏洞是否修复:
使用 curl 篡改 Host 头测试:
bash
运行
curl -I -H "Host: ***.***" https://23.0.18.231
正常修复结果:返回403 Forbidden;
若仍返回 200/302,代表 Host 防护未生效,重新核对白名单正则与开关状态。
六、常见踩坑点
仅在 Web 页面找配置:Host 头防护属于底层 Nginx 配置,只能 Console/SSH 底层菜单配置,Web 管理界面无入口;
白名单正则写错:少写/.*会导致登录页面、子页面被拦截;
开启防护后忘记添加自身管理 IP,运维人员无法登录设备,需串口进菜单删除错误白名单恢复;
只配置攻击防范策略,未开启 Nginx 原生 Host 防护,扫描器仍能检测出漏洞。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论