内容简介:原文链接:为了更好的阅读附件中有漏洞挖掘视频在Tokopedia中bypass两个xss过滤器得到反射型XSS漏洞
原文链接: https://visat.me/security/reflected-xss-in-tokopedia-train-ticket/
为了更好的阅读附件中有漏洞挖掘视频
在Tokopedia中bypass两个xss过滤器得到反射型XSS漏洞
TL;DR
有一个XSS过滤器,GET如果它包含<字符后跟>字符,它将编码参数。该过滤器可以通过拆分进行绕过,可以绕过</script/>关闭标签成</script/和>两个反射参数。
以前的漏洞
早在2018年5月,我在Tokopedia平台中发现了一个反射型XSS。它是JavaScript上下文中简单的反映XSS。
我向Tokopedia安全团队报告,他们告诉我我的报告是重复的。我没有用心去检查它是否已经修好。
今年3月,我浏览了旧电子邮件并找到了报告。我重新测试这个漏洞是否还有,最终,我在同一页面上发现了该漏洞。
标记过滤
如果你在Tokopedia平台中搜索火车票,你将被重定向到这样的URL
https://tiket.tokopedia.com/kereta-api/search/Jakarta-Gambir-GMR/Bandung-Bandung-BD?adult=1&infant=0&trip=departure&dep_date=16-09-2019&ori=GMR&dest=BD
它将所有GET参数存储到JavaScript变量dataJs.query中。
所有GET参数都存储在dataJs.query
它存在于JavaScript上下文中。因此,如果你想要触发XSS,你必须:
- 绕过JavaScript
插入 </script><script>alert(1)</script>
参数。这将使HTML解析器不正确地关闭上下文,导致先前的JavaScript执行错误(我们不关心这个!)并启动新的攻击者控制的脚本内容。
-
绕过JavaScript变量中的dataJs.query。
插入
"}; alert(1); //
其中一个参数。这将导致JavaScript解析器关闭变量,直接执行我们的受控脚本,并忽略其余的。
我以前的报告使用的是第一种方法。服务器没有编码危险字符,例如 <into <
。然而,它编码 "
成 \"
和 \
成 \\
,所以不能使用第二种方法。
然后我注意到一种奇怪的行为。ori和dest参数中使用的编码与其他编码不同。请注意在其他参数中,"字符是如何被编码的%22。
使用了不同的编码
我尝试使用另一个参数 >
> 没有在两个参数中编码
有趣的是,它没有编码ori和dest参数。如果我插入两个<和>字符怎么办?
>< 没有编码
<> 编码
显然,服务器确实清理了参数,但只有 <.*> 在参数中出现!
Bypassing 过滤器
我搜索了一些XSS payloads并找到了这个paylaod。它说:
您可以使用//关闭标签代替>
我们来试试吧。
发生错误
Chrome犯了一个错误: Uncaught SyntaxError: Invalid or unexpected token
。好吧,我知道我正在取得进展。然后我尝试插入XSS payload。
已插入XSS有效负载
它不起作用,JavaScript解析器不将其视为结束标记。我更改了XSS payload,并在“绕过标记黑名单”部分找到了这个 </script/>
。
我们知道的事实是:我们无法插入 <
和 >
在同一参数中的字符,因为它会被编码。但是,如果我们分开 </script/
和 >
在不同的参数
(即ori和dest)?在这种情况下,它们之间会有其他字符 </script/","dest":">
。这仍然是一个有效的结束标签吗?
XSS审核员突出显示XSS payload
原来这是一个有效的结束标签!Chrome XSS审核员屏蔽了该页面,表明存在反映的XSS。然后我在Firefox上尝试了它,它工作了!
这是我使用的完整payload: https://tiket.tokopedia.com/kereta-api/search/Jakarta-Gambir-GMR/Bandung-Bandung-BD?dep_date=26-06-2019&adult=1&infant=0&trip=departure&ori=</script//&dest=><svg/onload=alert(document.location.href))//.
反射型xss
总结
Tokopedia中的cookie(已命名_SID_Tokopedia)仅限HTTP,因此我们无法通过XSS窃取会话。但事实证明,cookie意外地存储在一个名为
JavaScript变量中dataSession.session.cookies。这违背了cookie上仅HTTP属性的目的。通过利用XSS,攻击者可以窃取受害者的会话,
时间线
28/03/2019 - 向Tokopedia安全团队报告了漏洞。
08/04/2019 - 发送了一封后续电子邮件。该漏洞已得到修复,报告的严重性也很高。
11/06/2019 - Tokopedia奖励IDR 3.000.000并获得证书。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何成为一个漏洞赏金猎人
- Apache Tomcat修复一枚严重漏洞,赏金为欧盟支付
- Bug赏金平台HackerOne获3640万美元D轮融资
- 2017 年,GitHub 支付了 16.6 万美元的安全漏洞赏金
- 2017 年,GitHub 支付了 16.6 万美元的安全漏洞赏金
- 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获$12000赏金
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
亚马逊跨境电商运营宝典
老魏 / 电子工业出版社 / 2018-6 / 69
《亚马逊跨境电商运营宝典》详细讲解亚马逊的平台知识和运营技巧,内容围绕亚马逊卖家的日常工作,系统讲解亚马逊账号注册、后台操作、选品、产品发布、Listing 优化、站内广告、FBA 发货、VAT 税务等内容,并且通过大量的案例分析,用生动翔实的案例为读者传递运营中必备的操作技巧和运营方法。 《亚马逊跨境电商运营宝典》内容针对性强,讲解的知识、技巧和方法都充分考虑到易学、易懂、易操作、易落地执......一起来看看 《亚马逊跨境电商运营宝典》 这本书的介绍吧!