HTTP参数污染

攻击者通过在HTTP请求中插入特定的参数来发起攻击,如果Web应用中存在这样的漏洞,可以被攻击者利用来进行客户端或者服务器端的攻击。

原理:

浏览器与服务器进行交互时,浏览器提交GET/POST请求参数,这些参数会以名称-值对的形势出现,通常在一个请求中,同样名称的参数只会出现一次。但是在HTTP协议中是允许同样名称的参数出现多次的。例: http://www.baidu.com?name=aa&name=bb针对同样名称的参数出现多次的情况,不同的web服务器的处理方

式也不同。有的服务器只取第一个参数 ,也就是name=aa。有的服务器只取第二个参数,也就是name=bb。有的

服务器两个参数都取,也就是name=aa,bb。这导致了网站存在一些逻辑漏洞问题。它是利用了不同服务器对于参数获取的结果不同而导致了可以利用某些漏洞。

tomcat只解析重复参数里面的前者,而Apache只解析重复参数里面的后者,我们可以传入两个id参数,前者合法而后者为我们想注入的内容,我们的后端是apache,那么我们只要将参数放在后面即可。

在输入id=1的时候,显示的是id为1的用户

但是在输入?id=1&id=2--+的时候,出现的却是id为2的用户,不再是id为1的用户

利用这个方法还能进行更多的注入,例如:

输入?id=1&id=-2'union select 1,database(),3--+

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值