HTTP参数污染

18 篇文章 4 订阅
7 篇文章 0 订阅

1、漏洞描述

HTTP参数污染漏洞(HTTP Parameter Pollution)简称HPP,由于HTTP协议允许同名参数的存在,同时,后台处理机制对同名参数的处理方式不当,造成“参数污染”。攻击者可以利用此漏洞对网站业务造成攻击,甚至结合其他漏洞,获取服务器数据或获取服务器最高权限。

2、 常见应用场景

GET /foo?par=first&par=last HTTP/1.1
User-Agent: Mozilla/5.0
Host: Host
Accept: */*

HPP发生在查询参数中,查询参数通常是指URI中“?”和URI结尾之间的部分,是一系列的域值对,可以参考RFC 3986查看其具体定义,这些域值对是通过“&”分开的,例如:name=admin&password=Test@123。如果用户输入的name的值为:admin&password=123,数据没有经过任何处理用于提交请求,那么这个URL就会被篡改为:name=admin&password=123&password=Test@123。

以上面数据包为例,常见的Web服务器对同样名称的参数出现多次的处理方式如下:

Web环境参数获取函数获取到的参数
PHP/Apache$_GET("par")last
JSP/TomcatRequest.getParameter("par")first
Perl(CGI)/ApacheParam("par")first
Python/Apachegetvalue("par")["first","last"]
ASP.NET/IISRequest.QueryString("par")first,last

更详细的: 

3、 漏洞危害

HTTP 参数污染的风险实际上取决于后端所执行的操作,以及被污染的参数提交到了哪里。

  • 对客户端的攻击,比如投票、跳转、关注等;
  • 绕过安全防护软件;

4、 修复建议

  1. 对用户输入数据的参数的格式进行验证。
  2. 在WAF或其他网关设备(比如IPS)在检查URL时,对同一个参数被多次赋值的情况进行特殊处理。
  3. 在代码层面,编写WEB程序时,要通过合理的$_GET方法获取URL中的参数值,而尝试获取web服务器返回给程序的其他值时要慎重处理。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值