今天无意中发现sendmail在某种情况下出现爆路径的可能,造成敏感信息的泄露,低危害。
首先肯定要安装sendmail插件,然后还要开启评论审核才可以看到这个bug。
本地伪造评论表单以POST的方式提交给远程的URL,这个时候如果开启了评论审核的话,会显示comment_controller.php的相关信息,而这个页面会引入sendmail插件的一些函数,而由于是本地提交,所以$_SERVER['HTTP_REFERER']就获取不到,这个时候就会报错。出现
Notice: Undefined index: HTTP_REFERER in D:wwwcontentpluginskl_sendmailkl_sendmail.php on line 73[break]
其实这个问题就是$_SERVER['HTTP_REFERER']没有进行判断,因为这个不死总能获取正确值的。
修复BUG(插件文件夹中kl_sendmail.php第73行):
$content .= "<br /><strong>=> 现在就前往<a href="{$_SERVER['HTTP_REFERER']}" target="_blank">日志页面</a>进行查看</strong><br />"; //修改为: $content .= "<br /><strong>=> 现在就前往<a href="".Url::log($gid)."" target="_blank">日志页面</a>进行查看</strong><br />";