好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Espcms V5.6.13.04.22 UTF8 正式版注入漏洞之3/N - 网站安

某文件对于从 数据库 中读取的变量未过滤,放入其他的sql语句中,造成二次sql注入

 

文件\interface\public.php中:

 

$ec_member_username_id = $this->member_cookieview('userid'); if ($ec_member_username_id) { $rsMember = $this->get_member_attvalue($ec_member_username_id); } $userid = $ec_member_username_id ? $ec_member_username_id : 0; $name = $rsMember['alias'] ? $rsMember['alias'] : ''; $sex = $rsMember['sex'] ? $rsMember['sex'] : 0; $tel = $rsMember['tel'] ? $rsMember['tel'] : ''; $address = $rsMember['address'] ? $rsMember['address'] : ''; $db_field = 'mlvid,userid,name,sex,email,tel,address,isclass,addtime'; $db_values = "$mlvid,$userid,'$name',$sex,'$email','$tel','$address',1,$addtime"; $this->db->query('INSERT INTO ' . $db_table . ' (' . $db_field . ') VALUES (' . $db_values . ')');

 

 

 

关键代码:$address = $rsMember['address'] ? $rsMember['address'] : '';

 

 

 

 

字段address可以被用户控制,构造特殊的sql语句

 

先修改个人信息:

 

 

 

再访问如下url:

 

http://127.0.0.1/index.php?ac=public&at=invite&mlvid=999&email=ipp@126测试数据

 

输出sql语句:

 

修复方案:  

过滤。。。

查看更多关于Espcms V5.6.13.04.22 UTF8 正式版注入漏洞之3/N - 网站安的详细内容...

  阅读:51次