MKCMS v5.0 任意密码重置漏洞
===========================
一、漏洞简介
------------
二、漏洞影响
------------
MKCMS v5.0
三、复现过程
------------
漏洞出现在`/ucenter/repass.php`第1-44行:
debug = false;
$mailType = "HTML"; //信件类型,文本:text;网页:HTML
$email = $email; //收件人邮箱
$emailTitle = "".$mkcms_name."用户找回密码"; //邮件主题
$emailBody = "亲爱的".$username.":
感谢您在我站注册帐号。
您的初始密码为123456
如果此次找回密码请求非你本人所发,请忽略本邮件。
-------- ".$mkcms_name." 敬上
"; // sendmail方法 // 参数1是收件人邮箱 // 参数2是发件人邮箱 // 参数3是主题(标题) // 参数4是邮件主题(标题) // 参数4是邮件内容 参数是内容类型文本:text 网页:HTML $rs = $smtp->sendmail($email, $smtpMail, $emailTitle, $emailBody, $mailType); if($rs==true){ echo ''; }else{ echo "找回密码失败"; } } } } ?> 本质上来说此处是一个逻辑问题,程序未通过邮箱等验证是否为用户本身就直接先在第13-14行把用户密码重置为`123456`了,根本没管邮件发送成功没有。  ### poc > 构造如下poc.html,并访问poc.html,然后用123456密码登录即可 参考链接 -------- > https://xz.aliyun.com/t/4189\#toc-1 > > https://cisk123456.blogspot.com/2019/04/mkcms-v50.html