首页 > 代码库 > SQL注入攻击

SQL注入攻击

 SQL注入攻击

  SQL注入式攻击就是攻击者把SQL命令插入到Web表单的域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。

  在某些表单中,用户输入的内容直接用来构造懂态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。

 

  由于SQL注入式攻击利用的是合法的SQL语句,使得这种攻击不能被防火墙检查出来,而且由于对任何基于SQL语言标准的数据库都适用,所以危害特别大。

 

  防止SQL注入式攻击的方法:

  1)在利用表单输入的内容构造SQL命令之前,对用户输入进行验证(利用正则表达式)与替换。

    例如替换单引号,即把所有单独出现的单引号改为两个单引号,防止攻击者修改SQL命令的含义。

  2)避免使用解释程序,攻击者一般借以执行非法命令。

  3)对查询字符串、用户登录名称、密码等进行加密处理。

  4)删除用户输入内容中的所有连字符,防止攻击者顺利获得访问权限。

  5)对于用来执行查询的数据库账户,限制其权限。

  6)用存储过程来执行所有查询。

  7)检查用户输入的合法性,确信输入的内容只包含合法的数据。 数据检查应当在客户端和服务器端都执行。

  8)检查提取数据的查询所返回的记录数量。

 

SQL注入攻击