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 条评论