支付宝Cookie高危漏洞引发的思考
背景:当时我在做公司的网站支付接入,在调试支付宝WAP支付时,发现一些匪夷所思的事情:
1、我想要切换账号时退到需要输入登录信息时,原账号并没有退出,我按一下后退键又回来了;
2、我关闭浏览器也没有退出账号,整个调试过程有差不多一个星期只登录过一次,可以认为登录的账号是无法退出的,除非成功另外一个账号;
由此,我开始怀疑,支付宝WAP支付接口的Cookie有问题,应该是为了方便性设定存了很久时间。
于是我打开用Firebug的Cookie页面一探究竟,我对其中一条名为 ALIPAY_WAP_CASHIER_COOKIE 的Cookie产生的兴趣,就是下图红色箭头所指的那一条,这是一条64个只含大写字母和数字的字符串,有经验的人都会知道,这一般就是哈希算法产生的密文(可能是MD5、SHA等的组合吧);
我抱着试一试的心态,我在隔壁同事的电脑打开了支付宝的WAP支付页,然后把这条Cookie复制到了过去,奇迹果然产生了,我的账号直接在他那里登录成功了,不用输登录密码也不需要手机号码短信认证。就是下图这个样子。
到这里,能看到的隐患就是黑客通过把木马安装在店家的WIFI,用来窃取Cookie信息,把上述这个Cookie拿走,然后慢慢试错,直到把6位密码破解出来(6位密码可以算是弱口令了),如果采集的Cookie比较多,能暴力破解成功还是可以考虑的。
然而还有一种更恐怖的攻击方法,注意到这条Cookie是 64个只含大写字母和数字的字符串,也就基本可以断定这个是哈希算法加密的,而对于那些有丰富经验的黑客来说,简单哈希加密的密文跟明文没有太大区别,不信你可以看看 这个网站,两到三级的哈希加密基本都能被查出来,而这已经是公开的技术了,私密的民间高手技术有多高可以想象了吧。他们只需要用几个账号在支付宝网站生成几个这种Cookie,然后还原出加密方法。他们能做的有两件事:
1、使用大批量账号,可能达到数百万级别,自动生成Cookie然后伪造登录,暴力破解密码。虽然每个账号在三次试错机会中能撞对的概论很小很小,但他们可以延长试错时间,而且基数这么大,成功的机会还是很多的。
2、第二个利用方法虽然没有直接经济效益,但却可以让整个支付宝系统陷入瘫痪。因为支付宝密码输入错误超过3次就会账号被冻结,可以想象数千万甚至上亿的支付宝账号被冻结能给阿里带来多大的冲击吗?这种攻击最受益的应该是阿里的竞争对手们吧。
因为此危害十分大,因此我通过乌云报告给阿里巴巴,然而在经过了一个星期的漫长审核后,它给了这样一个答复
呵呵。。。
然而当我放完国庆长假回来,再次打开支付宝的WAP页,却发现这个Cookie漏洞被修复了,已经没有了几条可能有问题的Cookie!!!
乌云平台里的厂商规则里有这样一条严禁行为:“a)消极处理安全问题包括不负责任的评估安全问题的严重性和后果,忽略后又悄悄修复等”。因此我多次用邮件以及微博的方式同乌云沟通,要求严肃处理此事情,不要伤害小白帽(以后可能要成黑帽子了)的一片心思。然而并没有得到什么有实际意义的答复。
前段时间看的一篇文章《一个iOS漏洞值多少钱?》,里面有这样一句话“大多数白帽子对于苹果这种高冷的行为感到受伤,从高雪峰苦笑的脸上似乎也找到同样的答案。”。同样,我也对阿里巴巴以及乌云的这种行为感到受伤。
既然漏洞已经修复了,乌云不肯公开,我就在博客园里给大家摊开来说吧,仅以抛砖引玉,望各位前辈多多指教。
支付宝Cookie高危漏洞引发的思考的更多相关文章
- 一个由"2020年1月7日 京东出现的重大 Bug 漏洞"引起的思考...
2020年1月7日,京东由于优惠券设置错误,导致大量产品以0元或者超低价成交,并且发货.网传小家电被薅24万件,损失损失金额高达7000多万.很多网友表示收到货了,在网上晒出到货截图.下面为购买截图: ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- 黄聪:PHP 防护XSS,SQL,代码执行,文件包含等多种高危漏洞
版本:v1.1更新时间:2013-05-25更新内容:优化性能功能说明: 可以有效防护XSS,sql注射,代码执行,文件包含等多种高危漏洞. 使用方法: 将waf.php传到要包含的文件的目录 在页面 ...
- Struts2 高危漏洞补丁版本为: Struts 2.3.15.1
Struts2 昨天爆出高危漏洞,黑客利用这个漏洞可以执行任意命令(包括恶意的jsp代码),轻松绕过您的验证系统,登陆您的网站后台,使您的网站后台密码形同虚设!! 目前Struts2官方已经发布了一个 ...
- OpenSSL再爆多处高危漏洞
OpenSSL团队于北京时间6月5号晚8点左右发布了5个安全补丁,这次的更新涉及多处高危漏洞,连接:http://www.openssl.org/news/ 受影响的版本包括: OpenSSL 1.0 ...
- php检查漏洞防护补丁-防护XSS,SQL,文件包含等多种高危漏洞
/** * 通用漏洞防护补丁 * 功能说明:防护XSS,SQL,代码执行,文件包含等多种高危漏洞 * Class CheckRequestServer */ class CheckRequestSer ...
- 【思考】由安装zabbix至排障php一系列引发的思考
[思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...
随机推荐
- django中tinymce添加图片上传功能
主要参考以下: https://pixabay.com/en/blog/posts/direct-image-uploads-in-tinymce-4-42/ http://blog.csdn.net ...
- visual studio生成后调试启动又提示部分项目需要生成问题总结
长久以来若干个项目都遇到过类似的情形,已经成功生成的项目启动调试或者再生成依然认为部分项目需要生成而不是跳过.总结以往的经验,记录下来,以便大家遇到时处理. 若有多个项目提示需要重新生成,优先检查被依 ...
- YARN中自己总结的几个关键点
以前在Hadoop 1.0中JobTracker主要完成两项功能:资源的管理和作业控制.在集群规模过大的场景下,JobTracker 存在以下不足: 1)JobTracker 单点故障. 2)JobT ...
- mysql online ddl
大家知道,互联网业务是典型的OLTP(online transaction process)应用,这种应用访问数据库的特点是大量的短事务高并发运行.因此任何限制高并发的动作都是不可接受的,甚至 ...
- request对象详解
先来了解一下Request的主要方法: setAttribute(String name,Object):设置名字为name的request的参数值getAttribute(String name): ...
- ubuntu同时安装qt4.8和qt5.7
这是ubuntu默认安装(从apt安装)的路径和相关文件,建议编译安装到/opt目录下,使用./configure --prefix=/opt/Qt4.8 /usr/share/qt4 /usr/sh ...
- C# WebService URL重写
背景 有时候我们会有这样的需求,将 WebService URL 中的 asmx 后缀去掉:或者我们要模拟普通 Web 的 URL,接口名称直接拼接在 URL 中.这些情况我们都要用到URL重写. 关 ...
- Windows 10 Threshold 2 升级记录
昨天(11月17日)升级到Windows 10 Threshold 2版本.我的使用的设备是Surface Pro 3,4G内存,128G硬盘. Threshold 2是作为一个Windows系统更新 ...
- django用户登录和注销
django版本:1.4.21. 一.准备工作 1.新建项目和app [root@yl-web-test srv]# django-admin.py startproject lxysite [roo ...
- 【HTML5】标记文字
1.用基本的文字元素标记内容 先看显示效果: 对应HTML代码: <!DOCTYPE html> <html lang="en"> <head> ...