挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获$12000赏金

栏目: 编程工具 · 发布时间: 6年前

内容简介:Web渗透测试中比较难的就是测试那些交互较少的应用了,当你尝试了各种漏洞利用方法而无效之后,很可能就会放弃了。但有时候,这种花费时间的投入和研究,对白帽自身的技术提高来说,还是非常有用的。这里我就分享一下,我在对比特币赌博网站bustabit的渗透测试中发现的两个漏洞,由此我也收获了$12,000赏金。比特币公司就是豪气。过去几周,我一直在对

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

Web渗透测试中比较难的就是测试那些交互较少的应用了,当你尝试了各种漏洞利用方法而无效之后,很可能就会放弃了。但有时候,这种花费时间的投入和研究,对白帽自身的技术提高来说,还是非常有用的。这里我就分享一下,我在对比特币赌博网站bustabit的渗透测试中发现的两个漏洞,由此我也收获了$12,000赏金。比特币公司就是豪气。

背景

过去几周,我一直在对 比特币赌博网站bustabit 进行渗透测试。在该网站中,玩家自己决定要投注的金额和支付倍数,随着赔率和倍数的上升,在游戏强行终止前自行终止游戏即可胜出,但是在游戏强行终止时还未能退出比赛,所有玩家的赌注都会输掉。

bustabit网站应用中存在一些有意思的功能,但我觉得其中的用户聊天交流功能可能存在问题,所以我也花了好多时间来研究分析它。注册登录之后,点击这里的链接 https://www.bustabit.com/play ,在左下角的CHAT框内就可与各路玩家进行实时聊天。

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

漏洞1:用户客户端的拒绝服务(DoS)漏洞 – $2,000 美金

当我浏览查看聊天消息时,发现了一件有意思的事,就是当链接被粘贴进入时,聊天应用服务会自动为其创建一个超链接进行跳转。原因是由于网站采用了一个特殊且又危险的HTML实现元素,攻击者可以采取以下方式执行恶意操作:

<a href=”:1″>:2</a>

理论上,该处主要会存在以下三种恶意利用:

如果输入未做严格的安全过滤,则可以把 :1 的地方替换为 ” onmouseover=alert(1) a=” 形成触发;

如果输入未做严格的安全过滤,还可以把 :1 的地方替换为  javascript:alert(1) 形成触发;

如果输入未做严格的安全过滤,则可以把 :2 的地方替换为 <script>alert(1)</script> 形成触发。

可在这里,这些地方的替换最终无法形成有效利用。聊天应用服务貌似不是直接对外部URL网站进行超链接转化,例如在聊天窗口中输入的外部URL网站是 www.google.com ,这里的聊天应用将会把其修改为以下样式的最终跳转链接:

https://www.bustabit.com/external?url=https://www.google.com

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 当然,在聊天窗口中点击以上这个最终链接之后,会发生以下警告: 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

如果聊天窗口中输入的外部URL网站是bustabit自身网站会怎样?

经测试发现,bustabit自身并不会把自己的网站链接当成外部URL网站进行转发,例如在聊天窗口中输入 www.bustabit.com/a 后,由于它是同一个网站,它并不会像上述那样,最终转化为 www.bustabit.com/external?url=www.bustabit.com/a 这样的跳转链接。

但结合之前的 <a href=”:1″>:2</a> HTML可利用之处,可以在其中构造加入 www.bustabit.com/a

<a href=”/a”> www.bustabit.com/a </a>

那要是变为上述的跳转链接,在其中加入 www.google.com/a 又会是怎样呢?我们可以这样来构造:

<a href=” https://www.bustabit.com/external?url=https://www.google.com/a “> https://www.google.com/a </a>

这个构造链接中有亮点的部份是,它没有对整个域更行超链接,而仅仅是对 https://www.google.com/a 进行了超链接,最终点击它后,又会跳转到 https://www.bustabit.com/external?url=https://www.google.com/a

由此,攻击者可以利用双斜线功能来跳转请求类似以下的外部资源,实现攻击Payload加载:

https://www.bustabit.com//attacker.com/hacked

最终可以这样构造:

<a href=”//attacker.com/hacked”> www.bustabit.com//attacker.com/hacked </a>

经验证,这种方法是可行的:

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 以下的HTML和上述的  //hacker.com/ 类似,请注意最终的构造效果是它会跳转到一个非  samcurry.net 网站的外部链接上。这里的技术原理与统一资源标识符(URI)相关, 点此参考

就像下图中在聊天室中输入bustabit.com//whywontyouload.com之后,这种方法看上去可以绕过HTML解析机制的 Link Filter,由于这是一个纯JavaScript的应用,需要 onclick 事件而不用自动执行刷新就能加载whywontyouload.com,但是最终效果不是太理想。 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

即使在客户端写好了PoC脚本,它也只会悬停在指向whywontyouload.com的操作上,点击URL链接也没有任何反应。所以,我就来好好看看到底发生了什么。

经过一番研究,我反复用不同的Payload来测试跳转到外部域的机制,偶然就发现了能让网站变灰不显示任何东西的情况。原来,是我在自己的客户端中发送了以下链接:

https://www.bustabit.com/%0t

由于其中包含了 %0t, JavaScript 不知如何处理解析,所以导致了整个网站的失效响应。即使刷新了整个页面,我发现,我的客户端还处于崩溃状态。这也就是说,应用程序会自动把所有超链接发送到某个JavaScript函数,如果其中存在像 %0t 的这种失效参数,就会造成整个程序的崩溃。

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

由于bustabit网站中所有下注的用户名称在网站右上角都是公开的,攻击得可以向任何下赌注的人发送此类消息,导致受害者用户客户端崩溃,无法完成有效参赌或赌资兑现。另外,攻击者还能向网站主聊天窗口中发送恶意链接,导致所有用户无法形成有效的消息连接,最终用户形成不了交互,游戏就长时间不可玩。PoC视频如下:

https://www.youtube.com/watch?v=jxBVZtB2z4Q

漏洞2:XSS和Click Jacking(点击劫持)- $10,000赏金

在漏洞1中,我们提过,在聊天窗口中输入 www.google.com 之后,聊天应用会形成以下跳转链接:

https://www.bustabit.com/external?url=https://www.google.com

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 另外,测试发现,如果在其中输入简单的 JavaScript URI 之后,也能形成XSS,因为聊天中总会需要别人点击某些链接,所以,这种漏洞无处不在。就像在聊天窗口中输入Javascript:alert(1)之后,最终会跳转到https://www.bustabit.com/external?url=Javascript:alert(1),形成XSS攻击: 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 这种情形下,可以深入对XSS漏洞进行利用,如其支持<iframe>标记插入,那么,可以利用 Samy Kamkar的工具,形成点击劫持攻击。经测试发现,确实可以向聊天应用中插入<iframe>标记,就此,我能用 Click here to continue 字段形成一个点击劫持页面:

挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 而且,在现实利用场景中,我们还可配合以下这种用户登录页面形成深入的漏洞利用: 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金 那么, 这种XSS能做什么呢?当然是Session窃取了。Web接口中的会话会被存储在用户的本地浏览器中,攻击者可以配合该XSS漏洞迷惑用户登录请求某个恶意外部链接,由此间接窃取到用户cookie和session等信息,攻击者利用用户cookie信息就能登录用户账户。 挖洞经验 | 看我如何发现比特币赌博网站漏洞并收获000赏金

总结

很多人在做漏洞众测项目时,总会用一些面面俱到或浅尝辄止的方式来进行测试,虽然从攻击广度上来说可能会取得一些实质性效果,但是有一点要清楚,像 aquatone  或 dirsearch这些你能用的开源 工具 别人一样能下载利用。所以,如果你想在竞争激烈的众多白帽中脱颖而出,最好的方法就是去深入挖掘发现目标网站的某些功能应用缺陷漏洞。

*参考来源: samcurry ,clouds 编译,转载请注明来自 FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据挖掘技术

数据挖掘技术

[美]MichaelJ.A.B / 别荣芳、尹静、邓六爱 / 机械工业 / 2006-7 / 49.00元

本书是数据挖掘领域的经典著作,数年来畅销不衰。全书从技术和应用两个方面,全面、系统地介绍了数据挖掘的商业环境、数据挖掘技术及其在商业环境中的应用。自从1997年本书第1版出版以来,数据挖掘界发生了巨大的变化,其中的大部分核心算法仍然保持不变,但是算法嵌入的软件、应用算法的数据库以及用于解决的商业问题都有所演进。第2版展示如何利用基本的数据挖掘方法和技术,解决常见的商业问题。 本书涵盖核心的数......一起来看看 《数据挖掘技术》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具