在include\inc_userlogin.php文件中,checkUser函数对过滤处理不当,导致可以注入转义符,致使系统数据库语句出错。。。
$this->userName = ereg_replace("[^0-9a-zA-Z_@\!\.-]","",$username); ,是不是代码编写人员忘记了,在引号内,转义符只能转义单引号和斜杠 :-P,这样,在变量username中输入一个单引号,变成\',然后过滤'留下\,导致数据库语句执行出错。
DeDeCMS V5、DeDeCMS 2007
去掉代码中的斜杠,语句改为:$this->userName = ereg_replace("[^0-9a-zA-Z_@!.-]","",$username);
暂无评论