最新消息:

涂鸦王国弱随机数导致任意用户劫持漏洞

Python admin 1381浏览 0评论

涂鸦王国找回密码的链接为弱随机数,可被枚举出来导致账号密码被重置。我连续发送了五封找回密码的邮件,在绑定的邮箱里查看找回密码的链接为

http://poobbs.com/account/resetpwd/mid/a5148ecf1c9f85aadcf0e2feb881df73
后面为一串MD5加密,反解发现是一个4位数字,通过发送多封可以推算出这个随机数大概是1111-13000之间。大部分为四位数。我们可以写个程序把所有四位数的MD5给列出来,这里我用Python先把所有结果列出,代码如下:
import md5
f=open("pass.txt","a")
for i in range(1111,9999):
    f.write(md5.new(str(i)).hexdigest())
    f.write("n")
f.close()

 

在这简短的Python代码里我把所有四位数的MD5存到了一个txt里,接下来就是用burpsuite进行暴力破解了。根据返回的长度不一致可以辨别哪些链接是有效的,无效的链接长度为347,有效链接大概为8400+ 如图:
201307301115177904
由于没有任何限制,破解过程大约需要20分钟,途中发现好多可用链接,估计是很多人点了找回密码而又没去使用的结果。
有效链接如图,直接输入新密码即可修改密码。

2013073011151850391

201307301115191431
国内知名插画家deo.R的账号也同样被劫持在内:
201307301115185039
201307301115225101
在已知邮箱的情况下可任意修改其密码~

修复方案:

随机数太弱。且建议设置失效时间,如果三分钟内没有使用链接即失效可有效防止

转载请注明:jinglingshu的博客 » 涂鸦王国弱随机数导致任意用户劫持漏洞


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 此渗透案例为密码找回功能利用提供思路。并且,在渗透的个过程中结合了python和burp suite的使用,很有参考价值。
    admin8年前 (2013-07-30)回复