%XN@1概念
HTTP参数污染漏洞的英文翻译HTTP Parameter Pollution,简称HPP,由于HTTP协议允许同名参数的存在,同时,后台处理机制对同名参数的处理方式不当,造成“参数污染”。攻击者可以利用此漏洞对网站业务造成攻击,甚至结合其他漏洞,获取服务器数据或获取服务器最高权限。
%XN@2解析
在客户端发送如下请求:
GET /s/index.php? Para=hhh&Para=mmm HTTP/1.1
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Connection: close
在服务器端可能有以下三种处理机制:
第一种,接收第一个Para参数的值hhh
攻击案例:某网络公司站点有一个SQL注入漏洞,http://yuming/eatmilkboy/article/?details_id=676140,开发已经进行修复,但是由于后端处理参数机制问题,验证第一个同名参数,而取第二个同名参数的值。攻击者构造了如下链接
http://yuming/eatmilkboy/article/?details_id=676140&details_id=676140 and 1=2 union select 1,2,3,4....
完成了SQL注入。最后,也成功的盗取了该公司数据信息。
第二种,接收第二个Para参数的值mmm。
攻击案例:某工作单位采取网上投票方式进行主任选举,以下为投票链接:
http://yuming/xuanju/toupiao.jsp?id=tshjj0001&action=TP
第三种,接收两个Para参数的值,组合在一起hhhmmm
此处无攻击案例,但可用于绕过检测,比如某防御机制会检测XSS特征码“script”,攻击者可构造如下payload“index.php?search=alert(111)”,绕过防御机制检测。
欢迎关注我们
领取专属 10元无门槛券
私享最新 技术干货