sql注入是什么?
所谓SQL注入,就是通过把SQL命令插入到Web表单提 交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据 库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到sql注入式攻击.
sql注入漏洞的原理:
通过控制传递给程序数据库操作语句的关键变量来获得恶意控制程序数据库,从而获取有用信息或者制造恶意破坏的,甚至是控制用户计算机系统的漏洞,就称之为“SQL注入漏洞”。
sql注入攻击者的目得只有一点,就是绕过程序限制,是用户输入的数据带入数据库执行,利用数据库的特殊性来获取更多的信息或者更大的权限。
注入漏洞分类:
1.数字型注入
当输入的参数为整型时,如:ID,年龄,页码等。如果存在注入漏洞,则可认为数字型注入。
判断是否为数字型注入的测试步骤:
HTTP://www.xxser.com/test.php?id=8' 这样的语句肯定会出错,导致脚本程序无法正常获取数据,从而使原来的页面出现异常。
HTTP://www.xxser.com/test.php?id=8 and 1=1 语句执行正常,返回正常。
HTTP://www.xxser.com/test.php?id=8 and 1=2 语句执行正常,返回错误。
满足以上三个步骤,就存在sql注入漏洞。
2.字符型注入
当输入参数为字符串时,称为字符型。字符型和数字型注入最大的区别是:数字型不需要单引号闭合,而字符型一般要使用单引号来闭合。