挖洞经验 | 看我如何接管OLX的每一条广告

2017 年 11 月 2 日 FreeBuf

在这篇文章中,我将跟大家分享关于“不安全的直接对象引用”(IDOR)攻击的相关内容。没错,正如本文标题所写的那样,我在OLX所托管的网站上发现了一个IDOR漏洞,并将其披露在了HackerOne上,因此我觉得是时候写一篇Write-Up了。

背景内容

OLX托管着多个国家的LetGo网站,其中还包括荷兰在内。LetGo是一个类似eBay的网站,你不仅可以在LetGo上购买新的东西,而且还可以帮你处理掉不要的二手物品,有些类似天朝的X鱼。

通过研究之后,我在这个网站上发现了一个IDOR漏洞,这个漏洞不仅能够允许我接管他人所上传的广告信息,而且还可以修改价格和描述,你肯定想象不到我当时是有多兴奋!虽然修改操作还需要进行一个人工审批过程,但对我来说至少能实现就行了。一般来说,将价格从40欧元改成35欧元都是可以通过的。除此之外,我的账号通过了几次人工审核之后已经被添加到白名单之中了,因此以后就都不用审核了。

因为网站没有实现频率限制,而且网站服务所提供的API还可以列举出所有的广告,因此我们也许可以编写一个脚本来自动化实现所有操作。比如说,列出所有的广告,然后接管每一条广告,并修改对应的价格。

当然了,我肯定不会真的去这样做,我也不需要去证明这个漏洞的严重性或者给网站造成经济损失。所以当我发现了这个IDOR漏洞之后,我便立刻报告了该漏洞。需要注意的是,我的PoC用我自己的多个测试账号,我并没有去接管其他人的广告,毕竟安全第一嘛!

如何找到了这个IDOR漏洞

在得到了OLX的允许之后,接下来就是披露漏洞细节的时间啦!

首先,我们需要设置一个代理来查看iOS/Android端App的流量数据。这些流量是经过了SSL加密的,但这并不重要(导入CA BurpSuite规范)。但是现在有的App实现了SSL Pinning特性,因此BurpSuite CA就没有效果了,但是你可以通过禁用(Unpin)这种特性来绕过这种安全保护层。其中一种方法是通过对App进行逆向分析和检测来实现,另一种方法就是在系统设置中禁用。

现在我手上有一台已越狱的iPad(安装了Cydia)和一台Android手机(安装了Xposed模块),两台设备均禁用了SSL Pinning。这样一来,你就可以使用类似BurpSuite这样的代理来拦截任意一款App的流量了。除此之外,你也可以安装Android模拟器来实现整个操作,推荐genymotion或android stuidio。

当你在使用iOS或Android端App的过程中,我们可以通过拦截API调用信息来了解关于API调用的信息,并指导如何重放调用过程。

设置测试账号:

账号#1

1. 使用令牌‘111111’发布一个新的广告(返回ID,测试场景中ID为888888)。

2. 等待审核通过。

3. 审核通过之后将其发布到网站上。

账号#2

1. 通过调用搜索API来获取广告列表。

2. 通过发送POST调用来攻击目标广告,测试场景中我们选择攻击刚发布的广告,ID:888888

3. 接管广告瞬间就可以完成,现在这个广告已经属于账号#2的了,而不是账号#1的。

4. 等待审核通过。

5. 审核通过,并将修改后的广告发布到网站上。

在使用账号#2发动攻击的过程中,涉及到两个API调用:GET /i2/ajax/ads/(用于获取ID)和POST /i2/newadding/(用于接管并修改广告)。

GET调用可以列举出所有的广告信息,其中包括ID在内,具体如下所示:

POST调用(即实际的攻击过程/IDOR)如下所示:

需要注意的是,我只是将我拦截下来的GET调用和POST调用重放了一次,然后用账号#2的令牌替换掉了账号#1的令牌。

在这里我需要提醒大家,在进行类似的分析操作时一定要使用测试账号,而且不要造成什么实际的破坏,在动手之前可一定要考虑清楚啊各位,这可不是在玩游戏。

积累经验

1. 在选择参与漏洞奖励计划时,一定要选择记录良好的计划,因为如果你不谨慎选择的话,你的努力很可能会“付诸东流”。

2. 当你在发现一个安全问题时,你一定要掌握那个攻击的“度”。在遇到问题是别气馁,继续努力就行了,有什么难题就记录下来,去社区请教大神就好。

* 参考来源:kciredor,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

登录查看更多
2

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
85+阅读 · 2020年6月28日
专知会员服务
142+阅读 · 2020年6月15日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
【机器学习课程】Google机器学习速成课程
专知会员服务
162+阅读 · 2019年12月2日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
金融风控面试十二问
七月在线实验室
18+阅读 · 2019年4月9日
如何运营15万付费用户?
三节课
6+阅读 · 2019年2月28日
如何成为一名商业产品经理?
产品100干货速递
6+阅读 · 2018年10月18日
如何入门并成为一名出色的算法工程师?
百度的广告和今日头条的广告
keso怎么看
7+阅读 · 2018年2月9日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
11+阅读 · 2018年2月4日
各厂推荐算法!
程序猿
17+阅读 · 2018年1月13日
用深度学习预测比特币价格
Python程序员
11+阅读 · 2017年12月23日
Arxiv
25+阅读 · 2018年1月24日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
85+阅读 · 2020年6月28日
专知会员服务
142+阅读 · 2020年6月15日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
【机器学习课程】Google机器学习速成课程
专知会员服务
162+阅读 · 2019年12月2日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
相关资讯
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
金融风控面试十二问
七月在线实验室
18+阅读 · 2019年4月9日
如何运营15万付费用户?
三节课
6+阅读 · 2019年2月28日
如何成为一名商业产品经理?
产品100干货速递
6+阅读 · 2018年10月18日
如何入门并成为一名出色的算法工程师?
百度的广告和今日头条的广告
keso怎么看
7+阅读 · 2018年2月9日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
11+阅读 · 2018年2月4日
各厂推荐算法!
程序猿
17+阅读 · 2018年1月13日
用深度学习预测比特币价格
Python程序员
11+阅读 · 2017年12月23日
Top
微信扫码咨询专知VIP会员