用途:向目标 URL 发送 HTTP 请求,收集响应头,检查安全相关响应头的存在与配置情况,并针对缺失或配置不当的头部给出修复建议。
主要能力:将每个安全头分类为存在、缺失或配置错误;检查 X-Content-Type-Options、X-Frame-Options、Strict-Transport-Security、Content-Security-Policy、X-XSS-Protection、Referrer-Policy、Permissions-Policy 共 7 个头部;检测 HSTS max-age 过短、X-XSS-Protection 被设为 0、X-Frame-Options 使用已过时的 ALLOW-FROM 等误配置;输出具体头部取值示例作为修复参考。
使用方式:需已安装 curl(多数 Linux/macOS 默认自带),并能通过 HTTP/HTTPS 访问目标服务器。设置变量 TARGET_URL(含协议,如 https://example.com),先用 curl -s -I -L --max-time 10 --user-agent "SecurityHeadersCheck/1.0" "$TARGET_URL" 收集响应头并保存到 /tmp/headers_raw.txt,再逐项检查头部、检测误配置并输出修复建议。
适用场景:Web 应用安全评估的初始侦察阶段、部署前安全检查清单、漏洞赏金或渗透测试中快速识别头部相关风险。
限制与注意事项:Content-Security-Policy 较复杂,缺失时仅给出简单建议,实际配置需按应用逐一审查;X-XSS-Protection 在现代浏览器中已弃用,新项目应改用 CSP;HSTS 无法应用于未使用 HTTPS 的站点。常见失败情况包括 DNS 无法解析、自签名证书报错(测试环境可加 -k)、CDN/代理剥离头部导致结果为空、重定向后头部不同(需用 -L 跟随)。