HTTP参数污染漏洞详解

%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)”,绕过防御机制检测。

欢迎关注我们

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180627G1AOB000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

扫码关注腾讯云开发者

领取腾讯云代金券