通过HTTP参数污染(HPP)接管账户 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

通过HTTP参数污染(HPP)接管账户

愣娃 技术 2018-07-19 09:13:00
287637
收藏

导语:这篇文章我介绍“我如何能够利用HTTP参数污染(HPP)漏洞的接管用户帐户。

正如标题所示,这篇文章我介绍“我如何能够利用HTTP参数污染(HPP)漏洞的接管用户帐户。HPP是什么,为什么可以接管?以下是一些说明。

HTTP参数污染(如名称所示)Web应用程序的HTTP参数,以执行与Web应用程序的预期行为不符的攻击。HTTP参数污染,简单的讲就是给相同名称参数赋上两个或两个以上的值,导致应用程序以意外方式解释值而出现漏洞。现在的HTTP标准没有提及在遇到相同参数多个赋值时应该怎样处理。因此web程序组件在遇到这类问题时采取的方法也不完全相同。

如以下案列:

search.php?id=110&id=911

这就是典型的相同参数,多个赋值的情况,针对于这种情况,由于HTTP标准没有规定如何处理,是由Werserver来处理这个事情,但是每个Webserver处理时又不相同,针对于这种情况我们可以进行攻击。

clipboard.png

最近,我一直在阅读很多相关文章,一些hackerone 报告以及不同的应用程序如何处理它,这使我更清楚如何针对它。我在其中一个印度在线购物网站找到了相同的漏洞,然后我接管了用户帐户。让我们看看我是如何做到的。

https://www.redacted.com/zephyr-mini-alphaboard/p/&pid = ETYDBYSKDDZQGDJD&vi=XXXX

这是一个简单的HPP漏洞,其中添加参数'u'(https://www.redacted.com/zephyr-mini-alphaboard/p/?u=http://www.evil.com&pid=ETYDBYSKDDZQGDJD&vi=XXXX)并在Facebook上分享它,将内容更改为https://www.facebook.com/sharer.php?u=https://www.redacted.com/zephyr-mini-alphaboard/ p /?u-http://www.evil.com&pid=ETYDBYSKDDZQGDJD&vi=XXXX而不是共享刚开始项目,此刻“evil.com”网站的内容正在受害者的Facebook页面上分享。

现在我知道HPP的出现是由于不同的Web服务器和开发框架处理多个相同值参数导致的问题,因此认定基本上是一个后端应用程序技术问题。它既然可以发生在社交分享按钮上,也可以出现在应用程序的其他部分中。在研究更多利用方式时,我想到去测试登录验证页面,其中有一个重置密码功能。

2.png

在此之前,我使用“Wappalyzer”分析了后端应用程序框架,显示“JSP和Apache”。现在,提供受害者的邮件ID并提交它,触发以下HTTP请求如下

3.png

根据找回密码功能,它生成重置密码链接,取值为“harrysonito@gmail.com”修改这个邮箱指定的密码,并将重置密码链接发送到这个邮件ID。

我测试提供多个“mail”参数但值不相同是否导致后端应用程序框架以不同的方式工作。我添加了攻击者的电子邮件ID,被篡改的请求看起来像(如下图)

4.png

后端应用程序(在本例中为JSP)使用第一个“email”参数的值来生成密码重置链接,并使用第二个“email”参数值“petercheckk852234@gmail.com"中接收重置链接的邮件。第二个“email”参数中邮箱的地址为我们自己的地址,所以邮件我们可控,邮件发送到我们可控的邮箱后,我打开链接, 重新设置了受害者帐户密码并能够登录到这个帐户,这就是我通过HTTP参数污染来破坏任何用户帐户的方式。

5.png

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务