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

最近项目遇到一个问题,是关于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都一样了.

下次要多注意安全问题了!

你可能感兴趣的:(遇到一个简单漏洞(sql注入))