Fork me on GitHub

一次逻辑漏掉的挖掘过程---密码重置

登陆页面:域名+car/home.html
密码重置:域名+/platform-mobile/

首先通过信息搜集,找到核心业务系统登陆页面。
试了简单的弱口令和排列组合爆破,无果。只会统一的返回用户名或密码有误,并不能确定用户是否存在。
然后我们看看重置密码页面:
输入admin,点击获取验证码,显示用户不存在。

抓包,用常用的用户名字典丢进burp里跑。找到sysadmin用户。
在用户名处输入sysadmin,然后点击获取验证码。

 

 

 

用户名自动转化为纯数字号码(猜测为工号一类)
使用burpsuit导入纯数字字典,批量验证工号存在与否。可得到一批工号。
这里我们任选一个,输入8000001
输入用户名,点击密码重置。

 

 

 

验证码随便输,抓包,首先使用4位纯数字爆破。
运气很好,直接爆破出手机验证码。(同时泄露了手机号)。

 

 

 

这里我们输入爆破出的验证码进行重置密码。发现验证不通过:

 

 

 

猜测为验证码被burp使用了一次后失效。
尝试下逻辑漏洞:
验证码随便输,抓包,一步一步的放,

 

 

 

直接复制burp中正确验证码的返回包替换掉下面的返回内容。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

成功进入重置页面。
重置密码,登陆:

 

 

 

 

至此成功找到突破口。

 

 

 

后续输入任意存在的用户,均可通过发送此包重置密码

 

posted @ 2019-12-06 21:14  An_spectator  阅读(59)  评论(0)    收藏  举报
1