文章来自" bgbing安全",未经授权,禁止转载(如发现抄袭本文,欢迎举报,联系黑子黑,将获取奖励!)
本文来自真实的挖掘过程,所以内容是尽可能厚码再厚码!
感谢火柴人安全团队成员asura师傅的投稿,另外有兴趣投稿的师傅也可以联系我,微信号:bgbing-src 会给合适的稿费,还会额外送礼品(比如现在端午,会送端午礼盒,粽子等)
Hackerone某厂商某主站搜索处存在反射xss
大家好,众所周知,反射XSS在国外比国内的赏金高得多,而且很广泛;但是今天要讲的是,h1 最近上线厂商的一个主站搜索处直怼的bypass技巧:
首先,搜索框输入xxxxx,Ctrl+U和Ctrl+F看看输出点有几个?分别在哪些位置?
在<script>标签内,正常情况,先测试" ' < > ( ) ` ; 等字符的具体处理情况,发现
对" < > ( ) ;没有任何处理,但是转义了闭合所需的单引号,记下; 使用</script><script>alert()直接怼上发现被识别:
基本把payload怼一遍发现都没戏,又回到特殊字符过滤这里:如果是双引号和单引号都被转义的 话,转义符很可能也被转义,但是我们这里是只过滤了单引号,那么我们可以尝试在单引号前加 个转义符 进行测试,发现转义符没有转义,则两个转义符\组合时,不被识别为转义,故而成功 闭合前面的单引号;
又因为输出点在<script>标签内,我们可以直接用alert()这样的js代码来触发反射xss,即为 q=xxxx';alert();// 然而,还是被识别了;可以测试一下,如果仅仅只是有alert没有()会如何?如 果仅仅只有()会如何?发现居然不被识别,那么就可以开始进行变量拼接:
a=alert;a()// 加上前面的单引号闭合技巧,使用如下payload,成功触发: ';a=alert;a()//
遗憾的是重复了
本文是火柴人安全团队成员asura师傅的投稿,bgbing安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
原文始发于微信公众号(bgbing安全):BugBounty挖掘思路(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论