Bug描述
后台配置了邮件通知,通过构造POST语句可以给任何邮件发送验证码,虽然这个验证码不会导致任何问题,但是这个接口不需要任何手段发送给任何邮件,也没有任何间隔,可以很简单的导致PHP占用过高。
Bug过程
受影响的版本:emlog pro 2.0.0+
1、通过Post工具,直接Post mail=邮箱到http://www.77bx.com/admin/account.php?action=send_email_code直接绕过验证码发送验证码邮件。
Bug修复
修复方法1:目前建议后台不要配置邮件通知
修复方法2:修改Emlog程序admin/account.php,大概152行,修改如下,后台设置不开启注册邮件验证码就没问题了。
if ($action == 'send_email_code') {
if(Option::get('email_code') === 'n'){
Output::error('未开启注册邮件验证码');
}
$mail = Input::postStrVar('mail');
if (!checkMail($mail)) {
Output::error('错误的邮箱');
}
$ret = Notice::sendRegMailCode($mail);
if ($ret) {
Output::ok();
} else {
Output::error('发送邮件失败');
}
}
修复方法3:要完美的话,需要Emlog修改的多,懒的动脑子等待官网的解决方案吧。
目前有 0 条评论