Agent Skills
返回列表
🔒

HTTP 参数污染检查清单

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/parameter-pollution-3xkw。

技能介绍

要解决什么问题

当你在 Web 应用中测试参数处理逻辑时,往往会遇到一个棘手问题:同一个参数名被提交多次,不同技术栈的解析结果完全不同。ASP.NET/IIS 取第一个值,PHP/Apache 取最后一个值,Python/Flask 把所有值组装成数组——这种不一致正是 HTTP 参数污染(HPP)攻击的立足点。

更麻烦的是,现代应用通常经过多层处理:CDN、API 网关、WAF、Web 框架、后端服务。每一层都可能以不同方式处理重复参数。比如 API 网关可能只检查第一个 id 参数,而后端 Lambda 函数处理的是最后一个,这就产生了 IDOR 漏洞。

这个技能要解决的,就是在安全测试中系统性地发现这类跨层参数处理缺陷。

技能如何工作

核心能力:

  • 内置完整的 HPP 测试方法论,从参数发现到利用验证全流程覆盖
  • 覆盖多种污染场景:URL 参数、表单字段、JSON 重复键、GraphQL 别名与变量、WebSocket 升级请求与消息负载
  • 针对不同框架的解析行为差异,提供针对性的测试策略(如数组表示法 param[]=a&param[]=b 与索引写法 param[0]=a 的混合测试)
  • 收录真实 CVE 案例(如 CVE-2021-41773、CVE-2018-8033)和 Bug Bounty 典型目标场景
  • 附带修复建议,从参数校验、框架配置到网关层去重

关键步骤:

  1. 识别目标应用的所有参数入口(URL、表单、Cookie、Header)
  2. 对每个参数提交重复值,观察应用行为
  3. 判断各组件使用的是第一个值、最后一个值,还是拼接结果
  4. 结合具体场景(访问控制绕过、WAF 绕过、CSRF Token 失效、OAuth 重定向操纵)验证可利用性
  5. 记录已完成的检查项,提出下一步测试建议

适用边界与注意点

  • 这是一份测试方法论,不是自动扫描工具。需要你结合目标上下文手动执行,并根据响应结果判断。
  • 不同框架、中间件版本的行为可能不同。例如 Node.js/Express 默认取第一个参数,但设置 app.set('query parser', 'extended') 后行为会改变。测试前先确认目标的技术栈。
  • API 网关(Kong、APIGEE、NGINX、Cloudflare)的参数归一化逻辑与后端框架可能不一致,这是 HPP 的高价值测试点,但需要分别验证每一层的行为。
  • JSON 重复键在大多数解析器中采用"后者优先"策略,但部分网关会拒绝重复键而后端接受,这种优先级差异值得重点关注。
  • 实际测试中建议配合 Burp Suite、OWASP ZAP 或 Param Miner 等工具,通过 Burp Repeater 的并行请求功能快速验证跨层优先级。

使用场景

  • 渗透测试电商网站时,发现价格和数量参数被重复提交,需要验证后端框架取的是第一个还是最后一个值
  • 测试 OAuth 授权流程时,发现 redirect_uri 参数可被污染,需要确认网关与后端解析差异能否导致任意重定向
  • API 网关与 Lambda 后端对重复 id 参数处理不一致,需要验证是否造成 IDOR 越权访问其他用户数据
  • WAF 拦截了 XSS payload,尝试通过 URL 参数重复注入绕过检测,验证后端是否信任被过滤的值

适合人员

  • Web 渗透测试工程师,需要系统测试目标应用参数处理逻辑并发现 HPP 漏洞
  • 安全开发工程师,需要在编码阶段预防 HPP 漏洞并了解框架参数解析行为差异
  • DevSecOps 工程师,需要在 CI/CD 中验证 API 网关与后端参数处理一致性
  • 安全研究员,需要研究 GraphQL 和 WebSocket 等新型参数污染攻击手法