挖洞经验 | 记一次有关参数指定型XSS的故事

Posted FreeBuf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了挖洞经验 | 记一次有关参数指定型XSS的故事相关的知识,希望对你有一定的参考价值。

各位信息安全大神们,大家好!我准备在这篇文章中跟大家分享一些我在最近一次挖洞过程中的发现,并与安全社区一同分享我的挖洞经验。

写在前面的话

在这篇文章中,我准备跟大家讨论一个我在Bugcrowd私人项目中发现的反射性XSS漏洞,几乎该网站下的任何一个页面都存在这种XSS漏洞,但是之前却没有被任何人发现。在本文中,我们暂且将该网站视作private-bounty.com。

挖洞过程

挖洞经验 | 记一次有关参数指定型XSS的故事

挖洞经验 | 记一次有关参数指定型XSS的故事

我查看到的反射值为:

挖洞经验 | 记一次有关参数指定型XSS的故事

其中的foo、bar和baz的值同样会反射在页面之中,但这些值都经过了适当的编码处理,因此我无法对这些值进行解析。

挖洞经验 | 记一次有关参数指定型XSS的故事

挖洞经验 | 记一次有关参数指定型XSS的故事

挖洞经验 | 记一次有关参数指定型XSS的故事

挖洞经验 | 记一次有关参数指定型XSS的故事

挖洞经验 | 记一次有关参数指定型XSS的故事

接下来,我又尝试添加了一个参数:utm_foobarbaz=xxxxx

挖洞经验 | 记一次有关参数指定型XSS的故事

但这一次我竟然成功了,这个值成功地被反射在了页面上,原来这个Web应用只会将以“utm”开头的参数反射到页面之中。

挖洞经验 | 记一次有关参数指定型XSS的故事

所以我又进行了一次尝试,尝试使用这个参数值来实现XSS攻击,但这个参数值还是会被Web应用编码。

接下来我所做的最后一次尝试就是在参数名本身中注入一个Payload来触发XSS漏洞:

挖洞经验 | 记一次有关参数指定型XSS的故事

BOOM!!!!!!!这一次我终于成功了!这一次,这个以“utm”开头的参数名并没有被编码,并且成功反射到了页面之中。

挖洞经验 | 记一次有关参数指定型XSS的故事

想必大家也知道接下来的结果了,我们成功触发了一次警告弹窗。

总结

我们可以从这一次挖洞经历中学到的是,我们有的时候可以尝试在参数名本身中注入Payload,或者对参数名进行fuzzing操作。本文所介绍的情况相对来说是比较特殊的,因为这个Web应用并不会对特殊关键字(“utm”)进行编码,因此我们从参数名入手实现了一次XSS攻击。

以上是关于挖洞经验 | 记一次有关参数指定型XSS的故事的主要内容,如果未能解决你的问题,请参考以下文章

挖洞经验|UEditor编辑器存储型XSS漏洞

挖洞经验 | 利用XSS和CSRF漏洞远程实现PayPal合作方网站未授权账户访问

记一次挖掘存储型XSS漏洞过程

技术讨论 | 记一次XSS蠕虫渗透实验

一次有趣的XSS发现

挖洞技巧Discuz!两处存储型XSS漏洞