目录
一、概述
1.1什么是SQL注入
web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息
1.2原理
攻击者通过用户可控参数中修改或拼接SQL语句,从而破坏原有SQL结构,让SQL数据库执行恶意的语句
二、分类
2.1按照数据提交方式分类
1.get注入
2.post注入
3.Cookie注入
4.HTTP头部注入
2.2按照注入点类型来分类
1.数字型注入点
2.字符型注入点
3.搜索型注入点
2.3按照执行效果来分类
1.基于布尔的盲注
2.基于时间的盲注
3.基于报错的注入
4.联合查询注入
5.堆叠注入
6.宽字节注入
三、注入流程
1.判断是否存在注入点,注入是字符型还是数字型
2.猜解SQL查询语句中的字段数(通常使用order by)
3.确定显示位置
4.获取当前数据库的名字
5.获取数据库中的表名
6.获取表中的字段名
7.获取所需的数据
四、验证方法
这里我们以UR