漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
2015-05-18: 细节已通知厂商并且等待厂商处理中
2015-05-18: 厂商已经确认,细节仅向厂商公开
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开
简要描述:
当人类终于变成同类
详细说明:
这两天在外面旅游又用起来携程订酒店,偶然看到这样一个功能
可以给自己的邮箱发送一封自己的行程邮件,点开后默认的邮箱是自己账户绑定的邮箱,也可以自行修改为其他任意邮箱
来看一下邮件的内容,
如果我们能控制页面输出变量的话,那么可以引发一场定向的钓鱼攻击
邮箱都是支持html标记的,那么抓包来看一下,变量中所能控制的
要能实现攻击,首先的就是测试是否对长度有限制,如果限制了长度,那么攻击将可能变得很鸡肋甚至根本无法利用
设置
结果如图:
并没有长度限制,而且因为框架超出问题,原来的行程单也无法正常显示,进一步提供了有利的条件
既然不限制长度,那么就来测试自定义html标签的攻击了
测试1:
返回结果服务器500错误:
携程的中间件风险控制的规则应该是匹配GET、POST(COOKIE没有进行测试)中的高危行为,比如and 1=1、</>等,然后定义到错误页面,如果同一IP连续多次访问该错误页面,那么就会在一段时间内屏蔽该IP地址
测试2,urlencode 1次 :
返回500,被防御规则丢弃
测试3,urlencode 2次:
返回200,如图,成功绕过了风险控制匹配
看一下邮件:
百度君插入了
之后就是对页面元素分析,如何插入一个最真实逼真的钓鱼环境
举个例子,比如要把后面跟着的“先生/女士…………”移动到第一个框架外
可以看到,第一个淡蓝色方框内已经排除了其他元素,剩下的可以自定义了
由于洞主对前端设计、html这一块实在是一个渣渣
尽力也只能伪造了以下不忍直视的结果
将背景颜色设置为白色会好看点
数据库里随便选了100个携程用户的邮箱,发送了邮件进行钓鱼测试
那么问题来了,用户哪里来?
是否记得有一个这个漏洞:http://wooyun.org/bugs/wooyun-2014-077356
这个漏洞里面的问题,在报告之前很久就发现了,但是觉得不是安全问题很多站点都有该问题,以前只爬虫收集过一部分用户uid邮箱,一直躺在硬盘里,刚好拿出来用部分
下午就有了结果,很快,这么点钱我就不退了~~毕竟我不知道你们的支付宝。。。
只有2条支付过来的记录,不过如果大规模进行攻击的话,还是很可怕的。
密码钓鱼也返回了1条
然后另选100条其他邮箱数据,非携程用户
在http://cli.im/生成二维码附上,内容为测试网站,做好IP统计
竟然有这么多人扫了。。。。看来携程的知名度还是有的,福利诱惑一般人扛不住
2种方式进行规模化攻击:
1、直接导入邮箱变量进行fuzzing
2、可以一次性群发(注意最开始我提到的),发一次即可,一次50条邮箱,发太多怕被服务器拒绝。
==============================
Conclusion 总结
1、我写的这么渣的钓鱼页面都能中招,看来大部分网民的安全意识还是很薄弱,如果换成前端大神@疯狗 来精心伪造一页面元素,说不定我都中招了。
2、安全不一定在于真正强的地方有多强。
3、风控规则仍需完善,urlencode2次就绕过了。
漏洞证明:
修复方案:
Conclusion 总结
1、我写的这么渣的钓鱼页面都能中招,看来大部分网民的安全意识还是很薄弱,如果换成前端大神@疯狗 来精心伪造一页面元素,说不定我都中招了。
2、安全不一定在于真正强的地方有多强。
3、风控规则仍需完善,urlencode2次就绕过了。
版权声明:转载请注明来源 黑暗游侠@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-05-18 10:21
厂商回复:
感谢您提交此漏洞相关信息。漏洞已经提交至开发人员处进行修补。再次感谢!
最新状态:
暂无