- 靶场环境: DVWA/WebGoat/Pikachu/BWAPP/SQLi-Labs/XSS-Labs - SQL注入工具: sqli-scanner.py, blind-sqli.py, sqli-exploit.go - XSS工具: xss-fuzzer.py, xss-scanner.go - 认证攻击: web-brute.py, jwt-cracker.py - 服务端安全: port-scanner.py, tls-scanner.py - 防御配置: nginx-hardening.conf - 案例研究: 福建政采网安全评估报告 (13份) - 同步脚本: sync-gitea.sh
4.5 KiB
4.5 KiB
高级漏洞深度测试与边界攻击面分析报告
测试时间:2026-03-10 测试目标:
zfcg.czt.fujian.gov.cn
本报告聚焦于 OWASP 核心漏洞之外的高级攻击面探测,包括协议级注入、业务逻辑缺陷、边缘信息采集及域名接管风险。
1. HTTP 协议栈与路由层测试
1.1 CRLF 注入 (HTTP 响应拆分) → ✅ 安全
尝试通过注入回车换行符 (%0d%0a) 操纵 HTTP 响应头:
GET /%0d%0aSet-Cookie:hacked=true→ HTTP 403 Forbidden(被 WAF 拦截)GET /search?q=test%0d%0aX-Injected...→ HTTP 403 Forbidden- 结果:网关/WAF 成功阻断了所有 CRLF 构造尝试。
1.2 HTTP 参数污染 (HPP) → ✅ 安全
尝试提交重复参数以测试后端框架解析逻辑:
?tenantId=16&tenantId=01→ 正常丢弃或选取默认值,未触发越权。?callback=test&callback=alert→ API 返回标准报错,未触发 XSS。
1.3 开放重定向 (Open Redirect) → ✅ 安全
针对登录、鉴权跳转相关参数(returnUrl, next, origin, redirect_uri)测试跳出域:
- OAuth 的
/oauth/authorize接口对redirect_uri实施了严格的白名单验证或签名校验,篡改为外域后返回500 Internal Server Error,无法劫持授权码。 - 其他前端参数(如
origin)未造成立即跳转或被 JavaScript 侧限制了目标域。
2. 缓存与 Host 头高级利用
2.1 缓存投毒 (Cache Poisoning) → 🟡 中危
继续深入测试早前发现的 Host 头注入漏洞:
- Payload:
Host: evil.com - 响应:返回了状态码 200 及主页完整 HTML。
- 验证:当
X-Forwarded-Host: evil.com注入时被正确丢弃,但 OpenResty 核心对主Host头未进行白名单校验(很可能匹配了server_name _或default_server)。 - 风险:如果政采网前端有 CDN 或其他反向代理级别的页面缓存,攻击者可能通过
Host: evil.com请求将返回的页面"缓存投毒",使得后续正常用户的静态资源请求或相对路径指向evil.com。
3. 信息收集与基础资产测绘
3.1 错误页面深度信息泄露 → ✅ 安全
向网关和鉴权中心发送导致严重异常的 Payload:
- 无效 JSON 解析错误:
POST含{{invalid}} - Content-Type 混淆:向要求 JSON 的端点发送
application/xml - 超长请求头:注入 8000 字节 Header
- 结果:系统均返回标准错误(如
400 Bad Request、404/500JSON),无任何 Tomcat/Spring Stacktrace 或绝对文件路径泄露。
3.2 子域名接管检测 (Subdomain Takeover) → ✅ 安全
对 www, mail, ftp, vpn, api, dev, test, cdn 等常用 DNS 记录发起 CNAME 与存活检测:
- 未发现任何指向已过期外部服务(如未续费的 AWS S3、阿里云 OSS、Github Pages 等)的无主 CNAME 记录。不存在子域接管风险。
3.3 版本与指纹暴露 → 🟡 低危
发现前端 HTML 常规包含明显的构建追踪标记:
data-tag="V6.5.15.1_1_20260119_gpcms-center-web"data-tag="V6.0.33.1_2_251020_GP-AUTH-WEB"- 暴露了系统迭代版本号与构建日期(2026-01-19等),可能辅助攻击者关联特定的 0-day 漏洞时间线。
异常发现:
/robots.txt路由返回nsssjss is null(可能被某些业务过滤器拦截产生异常抛出)。- 缺少
.well-known/security.txt标准应急响应文件。
4. 认证态深度测试 (IDOR) 进展状态
状态:🛑 测试受阻
详情:
在尝试将之前提取的有效 Token 通过浏览器上下文重新发起 Fetch 请求测试越权(租户越权/垂直越权)时,系统接口全部返回:
{"code":5563, "msg":"您的账号在另一地点登录或登录认证已失效2"}
原因分析:
- 系统具有严格的单点登录互斥(被异地踢出)机制或强 IP 绑定。
- 自动化获取新 Token 的流程受阻——因为返回登录页后触发了图形验证码(CAPTCHA),无法通过纯自动化脚本完成登录闭环。
五、综合建议
本次高级测试证明福建政采网在 参数防御、重定向、应用层错误隐蔽 等方面做得非常出色。剩余的主要加固点如下:
- Host 强制校验:在 OpenResty 网关配置明确的
server_name,针对非法 Host 请求重置连接(return 444;)以根除缓存投毒风险。 - 清理前端构建印记:在 Webpack/Vite 打包时移除 HTML 中的
data-tag版本信息。