HTTP参数污染

 HTTP Parameter Pollution简称HPP,所以有的人也称之为“HPP参数污染”。

一篇很不错关于HPP参数污染的文章:http://www.paigu.com/a/33478/23535461.html

如文章中所言,HPP并非一个漏洞,但是网站存在SQL或者XSS,在有WAF的情况之下可以帮助黑客进行绕过WAF。

 

那么什么是HPP参数污染呢?


假设这个URL:http://www.xxxx.com/search.php?id=110&id=911

百度会理解成让百度搜索:110                 #选择了第一个参数,放弃了第二个参数。

雅虎会理解成让雅虎搜索:911            #选择了第二个参数,放弃了第一个参数。

谷歌会理解成让谷歌搜索:110 911         #两个参数同时选择。

主要的就是这三种情况了。

这主要是源于,不同的网站对处理参数的处理方式不同。PS:跟米哥一起学习的,总结米哥的,感觉我总结的还是欠妥当。

 

那么注入是怎么跟HTTP污染产生关系的呢?


倘若是第三种情况,也就是第一个参数取第二个参数也取。那么大家请看下面的URL

http://www.xishaonian.com/hello.php?id=select 1&id=2,3,3 from admin

该种情况还可用于Bypass WAF.

当然还可以与XSS结合。

 

 

具体服务端处理方式如下:

Web服务器

参数获取函数

获取到的参数

PHP/Apache

$_GET(“par”)

Last

JSP/Tomcat

Request.getParameter(“par”)

First

Perl(CGI)/Apache

Param(“par”)

First

Python/Apache

Getvalue(“par”)

All(List)

ASP/IIS

Request.QueryString(“par”)

All(comma-delimited string)

转载于:https://www.cnblogs.com/xishaonian/p/6209441.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP参数污染测试是指通过恶意修改URL参数、表单数据或者Cookie中的值,来绕过应用程序的安全防护机制,从而进行非法操作或者获取敏感信息的一种攻击手法。为了测试应用程序是否存在HTTP参数污染漏洞,可以按照以下步骤进行测试: 1. 理解应用程序的业务逻辑和参数处理机制。 2. 构建恶意的URL参数、表单数据或Cookie值,通过修改这些值来观察应用程序的反应。 3. 检查应用程序是否会对URL参数、表单数据或Cookie值进行合理的验证和过滤,防止恶意修改。 4. 尝试提交恶意数据,并观察应用程序的反应。如果应用程序没有对恶意数据进行过滤或验证,可能会导致HTTP参数污染漏洞。 5. 分析应用程序的返回结果,查看是否存在异常行为或者响应报文中包含了敏感信息。 不安全的直接对象引用是指应用程序未经过适当的权限验证,就将直接对象引用传递给用户,从而导致用户可以未经授权地访问或修改其他用户的数据。为了测试应用程序是否存在不安全的直接对象引用问题,可以按照以下步骤进行测试: 1. 理解应用程序的权限管理机制和对象之间的关系。 2. 尝试直接访问其他用户的数据,检查应用程序是否对权限进行验证,防止未授权访问。 3. 尝试修改其他用户的数据,检查应用程序是否对操作进行验证,防止未授权修改。 4. 观察应用程序的反应,检查是否存在未经授权的访问或者修改操作。 5. 分析应用程序的代码,确认是否存在不安全的直接对象引用漏洞。 在测试过程中,需要注意保证测试环境的安全性,避免对真实生产环境或者其他用户的数据造成不必要的损害。同时,测试人员应该具备相关的安全知识和经验,以确保测试的准确性和有效性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值