千红网任意用户密码重置漏洞

网站找回密码流程分三步进行,分别是

http://www.hongzhoukan.com/getpass_1.php 输入用户名

1.png

http://www.hongzhoukan.com/getpass_2.php 输入“密码保护问题”答案

2.png

待验证通过后,到达http://www.hongzhoukan.com/getpass_3.php修改密码

3.png

输入密码后,提示修改成功

4.png

经测试,发现可直接访问http://www.hongzhoukan.com/getpass_3.php,页面没有做任何验证:

5.png

我们随意输入一个密码,点击“继续”,然后观察http请求:

6.png

发现密码成功被提交到了http://www.hongzhoukan.com/getpass_4.php,并没有返回任何错误,而且发现同时还提交了值为空的“user”项,通过查看页面代码,发现存在一个属性为hidden名为user的字段:

7.png

此时我们之间修改提交的user字段内容为任意用户名,则可以修改该用户的密码:

8.png

成功使用密码123456登录admin用户:

9.png