一,SQL注入原理
通过把恶意的sql命令插入web表单递交给服务器,或者输入域名或页面请求的查询字符串提交到服务器,达到欺骗服务器,让服务器执行这些恶意的sql命令,从而让攻击者,可以绕过一些机制,达到直接访问数据库的一种攻击手段。
二,SQL注入分类
(1)数字型;
(2)字符型;
(3)报错注入
(4)布尔注入
(5)时间注入
三,SQL注入思路
(1)判断是否存在注入,注入是字符型还是数字型
(2)猜解SQL查询语句中的字段数
(3)确定回显位置
(4)获取当前数据库
(5)获取数据库中的表
(6)获取表中的字段名
(7)获得数据
四,SQL注入绕过方法
(1)注释符号绕过
(2)大小写绕过
(3)内联注释绕过
(4)特殊编码绕过
(5)空格过滤绕过
(6)过滤or and xor not 绕过
五,SQL注入漏洞的分析
一,定义
SQL注入(SQLi)是一种注入攻击,可以执行恶意SQL语句。它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。
二,原因
SQL 注入漏洞存在的原因,就是拼接SQL参数。也就是将用于输入的查询参数,直接拼接在SQL语句中,导致了SQL注入漏洞。
web 开发人员无法保证所有的输入都已经过滤
攻击者利用发送给服务器的输入参数构造可执行的 SQL 代码(可加入到 get 请求、 post 谓求、 http 头信思、 cookie 中)
数据库未做相应的安全配置