一、原理
通过sql语句的拼接来改变原有的sql语句逻辑,达成攻击者的目的。
二、常见注入
- 拼接注入(一般拼接
union select 1,2,3.. from table
)来注入。
- 提交注入
- 延时注入
- 逻辑判断注入
- 报错注入
- 盲注
- 二次注入
- dns注入
- 堆叠注入
三、sqlmap
sqlmap是一款sql漏洞测试软件。
-h:帮助文档
--version:查看sqlmap版本信息
-v:显示详细信息
·0:只显示python的错误和一些严重性的信息
·1:显示基本信息(默认)
·2:显示debug信息
·3:显示注入过程的payload
·4:显示http请求包
·5:显示http响应头
·6:显示http响应页面
-u:指定url,但url必须存在查询参数。例: xxx.php?id=1
--method:指定请求是提交的方法。例:--method=GET
--data: 该参数指定的数据会以POST方式进行提交,Sqlmap也会检测该参数指定数据是否存在注入漏洞。(格式: --data = “参数1 & 参数2…”)
--param-del: 当用其他字符分割参数的时候,需要用到此参数(针对data)
--cookie:该参数用于绕过登录验证
--user-agent: sqlmap默认的user-agent是sqlmap/1.5.11.5#dev (https://sqlmap.org)(这是我的),这样容易被目的主机所察觉,所以需要修改user-agent
-p:对指定的参数进行检测
四、补充
- MYSQL5.0以上有一个数据库信息表叫
information_schema