您的位置:首页 > 数据库

遇到一个简单漏洞(sql注入)

2013-03-26 10:20 155 查看
最近项目遇到一个问题,是关于sql注意的问题,一个同事,写sql是拼写的,我们有低层的pdo没有用,结果造 成了注入,代码如下:
/*
*
$sql = "update <DB.TABLE> set is_activated=1,client_id='',encrypt_pwd='',user_nick='{$nickname}',update_time={$update_time} where sdid = {$uid} ";

$result = LibPDOEx::getPDO('user')->exec_with_prepare($sql, null);
*/
$set = array('is_activated' => 1,
'client_id' => '',
'encrypt_pwd' => '',
'user_nick' => $nickname,
'update_time' => $update_time
);

$where = " sdid={$uid} ";

$result = LibPDOEx::getPDO('user')->update($set,$where);

这里nickname变量,没有处理,如果输入了7865'; --这样 -- 在mysql中,会自动忽略后面的语法,结果就成了 无条件的更新,所有的user_nick都一样了.

下次要多注意安全问题了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐