什么是二级SQL注入

时间:2009-12-09 05:29:34

标签: mysql sql-injection

二级SQL注入的全部内容..这是参考问题 Use of parameters for mysql_query ..并且其中一个答案的一部分就是这个术语......

2 个答案:

答案 0 :(得分:2)

我不完全确定,但我认为帖子中已“定义”:Use of parameters for mysql_query

摘录(见第2点):

  自动

magic_quotes_gpc   逃避你在请求中收到的东西   来自客户...但它无法检测到   所谓的二级注射:

     
      
  1. 您从客户端收到恶意查询并将其内容存储在   数据库。 magic_quotes_gpc阻止   SQL注入;恶意字符串   得到正确存储。
  2.   
  3. 稍后,您从数据库中获取此字符串并将其包含在中   另一个问题。现在字符串没有   出于要求,所以   magic_quotes_gpc没有逃脱   串。 Voilà,SQL注入;您的   数据现在可能已经消失。
  4.   

这是另一个我用Google搜索(http://www.osix.net/modules/article/?id=624):

  

请注意存储内的变量   过程并不总是免于SQL   注射也是。如果存储   procedure包含添加的构造   第二级解析,例如   您在MS SQL Server中的字符串上执行EXEC   将不得不处理元字符   再次。这个时候里面存放了   过程

答案 1 :(得分:0)

如果您从未假设任何数据“安全”放入查询中,那么您不应该对SQL注入有任何问题。即使< insert religion icon> ,他/她自己也会向您提供一些数据,并告诉您将其插入到SQL查询中......您仍然应该验证它!的xD

在执行查询时尝试始终使用Parameterized Statements是个好主意。这样,数据库驱动程序本身就负责转发可能有害的数据,大大降低了任何类型SQL注入的风险。