首页/安全/漏洞与攻击面速查/HTTP 参数污染(HPP)与防护
Web 漏洞原理与防护55 条

HTTP 参数污染(HPP)与防护

同名参数重复出现时,不同技术栈取值行为不一致(取第一个、取最后一个、取数组),前后端解析差异可能造成校验被绕过;防护是明确参数策略并在网关层拒绝重复参数。

漏洞与攻击面速查安全更新于 2026-10-12

行为差异示例

行为差异示例
?role=user&role=admin
PHP 默认取最后一个(admin)
JSP/Servlet 默认取第一个(user)
Node/Express 变成数组 ['user','admin']
校验组件与实际使用方取到的值可能不同

防护动作

防护动作
1. 网关层统一策略:重复参数直接拒绝或规范化
2. 应用层显式声明单值语义
3. 安全校验与业务取值使用同一解析结果
涉及权限与金额的参数要统一解析口径,避免安全组件与业务组件各看各的。

易错点

  • WAF 只看第一个参数值、后端取最后一个:典型的前后端解析不一致绕过

数据来源与参考

  • OWASP WSTG(Testing for HTTP Parameter Pollution)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌