当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0114708

漏洞标题:一种可大规模定向钓鱼携程旅游网千万用户的攻击过程重放(附案例,非携程用户依然躺枪)

相关厂商:携程旅行网

漏洞作者: 黑暗游侠

提交时间:2015-05-18 06:25

修复时间:2015-07-02 10:22

公开时间:2015-07-02 10:22

漏洞类型:应用配置错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-18: 细节已通知厂商并且等待厂商处理中
2015-05-18: 厂商已经确认,细节仅向厂商公开
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开

简要描述:

当人类终于变成同类

详细说明:

这两天在外面旅游又用起来携程订酒店,偶然看到这样一个功能

1.png


可以给自己的邮箱发送一封自己的行程邮件,点开后默认的邮箱是自己账户绑定的邮箱,也可以自行修改为其他任意邮箱

2.png


3.png


来看一下邮件的内容,

4.png


如果我们能控制页面输出变量的话,那么可以引发一场定向的钓鱼攻击
邮箱都是支持html标记的,那么抓包来看一下,变量中所能控制的

POST /Customer-API-Online/Ajax/AjaxMailJourney.aspx HTTP/1.1
Host: my.ctrip.com
Proxy-Connection: keep-alive
Content-Length: 118
Cache-Control: max-age=0
Origin: http://my.ctrip.com
If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: */*
Referer: http://my.ctrip.com/Customer-API-Online/MyJourney.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: *************************************************
UserName=页面中输出的用户名,可控制&EmailTo=发往的邮箱目的地址&Consumer=&StartTime=&EndTime=&TargetCityName=&ItineraryType=-1&OrderStatusName=


UserName=页面中输出的用户名,可控制&EmailTo=发往的邮箱目的地址


要能实现攻击,首先的就是测试是否对长度有限制,如果限制了长度,那么攻击将可能变得很鸡肋甚至根本无法利用
设置

UserName=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA


结果如图:

5.png


并没有长度限制,而且因为框架超出问题,原来的行程单也无法正常显示,进一步提供了有利的条件
既然不限制长度,那么就来测试自定义html标签的攻击了
测试1:

UserName=<img src=https://www.baidu.com/img/bdlogo.png />


返回结果服务器500错误:

6.png


携程的中间件风险控制的规则应该是匹配GET、POST(COOKIE没有进行测试)中的高危行为,比如and 1=1、</>等,然后定义到错误页面,如果同一IP连续多次访问该错误页面,那么就会在一段时间内屏蔽该IP地址
测试2,urlencode 1次 :

UserName=%3Cimg%20src=https://www.baidu.com/img/bdlogo.png%20/%3E


返回500,被防御规则丢弃
测试3,urlencode 2次:

UserName=%253Cimg%2520src=https://www.baidu.com/img/bdlogo.png%2520/%253E


返回200,如图,成功绕过了风险控制匹配

7.png


看一下邮件:

8.png


百度君插入了
之后就是对页面元素分析,如何插入一个最真实逼真的钓鱼环境
举个例子,比如要把后面跟着的“先生/女士…………”移动到第一个框架外

UserName=Wooyun html%253C/table%253E%253C/table%253E%253Ctable%253E%253Ctable%253E


可以看到,第一个淡蓝色方框内已经排除了其他元素,剩下的可以自定义了

9.png


由于洞主对前端设计、html这一块实在是一个渣渣
尽力也只能伪造了以下不忍直视的结果

10.png


将背景颜色设置为白色会好看点

11.png


12.png


数据库里随便选了100个携程用户的邮箱,发送了邮件进行钓鱼测试
那么问题来了,用户哪里来?
是否记得有一个这个漏洞:http://wooyun.org/bugs/wooyun-2014-077356
这个漏洞里面的问题,在报告之前很久就发现了,但是觉得不是安全问题很多站点都有该问题,以前只爬虫收集过一部分用户uid邮箱,一直躺在硬盘里,刚好拿出来用部分
下午就有了结果,很快,这么点钱我就不退了~~毕竟我不知道你们的支付宝。。。

13.png


14.png


只有2条支付过来的记录,不过如果大规模进行攻击的话,还是很可怕的。
密码钓鱼也返回了1条

15.png


然后另选100条其他邮箱数据,非携程用户
在http://cli.im/生成二维码附上,内容为测试网站,做好IP统计
竟然有这么多人扫了。。。。看来携程的知名度还是有的,福利诱惑一般人扛不住

16.png


2种方式进行规模化攻击:
1、直接导入邮箱变量进行fuzzing
2、可以一次性群发(注意最开始我提到的),发一次即可,一次50条邮箱,发太多怕被服务器拒绝。
==============================
Conclusion 总结
1、我写的这么渣的钓鱼页面都能中招,看来大部分网民的安全意识还是很薄弱,如果换成前端大神@疯狗 来精心伪造一页面元素,说不定我都中招了。
2、安全不一定在于真正强的地方有多强。
3、风控规则仍需完善,urlencode2次就绕过了。

漏洞证明:

修复方案:

Conclusion 总结
1、我写的这么渣的钓鱼页面都能中招,看来大部分网民的安全意识还是很薄弱,如果换成前端大神@疯狗 来精心伪造一页面元素,说不定我都中招了。
2、安全不一定在于真正强的地方有多强。
3、风控规则仍需完善,urlencode2次就绕过了。

版权声明:转载请注明来源 黑暗游侠@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-05-18 10:21

厂商回复:

感谢您提交此漏洞相关信息。漏洞已经提交至开发人员处进行修补。再次感谢!

最新状态:

暂无