### 简要描述:
找回密码处 设置的链接不好把。。
### 详细说明:
找回密码处 发送邮件给找回密码的地址 但是找回密码的地址只有一个变量。
只要知道要找回的账户 就可以直接爆破。
http://127.0.0.1/thinksaas2/index.php?app=user&ac=resetpwd&mail=admin@admin.com&set=1d8c9f71eaa6923fc9d3cd5d10aea4ce
找回密码的地址。 app ac mail 这些都是知道的 只有set不知道。
在/app/user/action/forgetpwd.php处。
```
$resetpwd = md5(rand());
$new['user']->update('user',array(
'email'=>$email,
),array(
'resetpwd'=>$resetpwd,
));
//发送邮件
$subject = $TS_SITE['base']['site_title'].'会员密码找回';
$content = '您的登陆信息:<br />Email:'.$email.'<br />重设密码链接:<br /><a href="'.$TS_SITE['base']['site_url'].'index.php?app=user&ac=resetpwd&mail='.$email.'&set='.$resetpwd.'">'.$TS_SITE['base']['site_url'].'index.php?app=user&ac=resetpwd&mail='.$email.'&set='.$resetpwd.'</a>';
echo $content;
```
可以看到 只有$resetpwd 不知道。 但是
$resetpwd = md5(rand());
是随机的 然后再md5 RAND_MAX 只有 32768
所以可以爆破之。
写个脚本 循环给1-32768 md5 一次 然后再载入burpsuite 进行爆破。
在测试过程中 最少的一次 只有300多。 最多的一次20000多 这个都看运气了。。
爆破速度也是很快的 吃个饭完了就好了。
### 漏洞证明:
循环脚本。
[<img src="https://images.seebug.org/upload/201402/05163408dda409c1a9bb8e6e88de56e4e1c75628.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/05163408dda409c1a9bb8e6e88de56e4e1c75628.jpg)
[<img src="https://images.seebug.org/upload/201402/0516345861465270e4c678fe6ff3a137205a2c4d.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/0516345861465270e4c678fe6ff3a137205a2c4d.jpg)
循环出来的数据。
然后载入Burpsuite
[<img src="https://images.seebug.org/upload/201402/051635461b99c04c1fc733b6c3f5d8333e979f80.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/051635461b99c04c1fc733b6c3f5d8333e979f80.jpg)
设置好变量
[<img src="https://images.seebug.org/upload/201402/0516363769a11c889ad038d02fe13a3222ea8b48.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/0516363769a11c889ad038d02fe13a3222ea8b48.jpg)
开始爆破。
[<img src="https://images.seebug.org/upload/201402/0516371347326183986a69da792dd3fc32bbff8c.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/0516371347326183986a69da792dd3fc32bbff8c.jpg)
观察length 可以知道哪个是正确的。 可以看到我这个在7446的时候 就成功了。
然后直接访问
[<img src="https://images.seebug.org/upload/201402/05163825b33b963caf812537476c8d9d055f3db6.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/05163825b33b963caf812537476c8d9d055f3db6.jpg)
重置成功。
暂无评论