常用参数
- -u [“漏洞url”]
- -v [1-6] :显示注入详情,参数为3时可以显示注入的payload(安全测试数据)
- –technique [注入类型] (B, E, T, U, S)
- –current-db:查询当前使用的数据库
- –dbs:查询所有数据库
- -D [数据库名]:确定在哪个数据库下进行查询
- –table:一般跟在-D [数据库名]之后,用于查询该数据库下的表名
- -T [表名]:确定在哪个表下进行查询
- –dump:一般跟在-D [数据库名] -T [表名]之后 = select * from [表名]
- –columns:一般跟在-D [数据库名] -T [表名]之后,用于查询该表下所有列名
- –current-user:查询当前的用户
- –is-dba :查询当前用户是否为DBA权限(若结果为true则执行系统命令–os-shell)
- –os-shell:执行系统命令(前提:DBA且得到当前web的绝对路径)
进入OSshell之后sqlmap以及自动上传了一个webshell(小马文件)
Sqlmap注入的基本步骤
- 判断目标链接使用的是什么数据库
- 判断哪一个变量是可以注入的
- 返回可利用的sql注入漏洞:
(1)boolean-based blind 盲注:速度慢
(2)error-based 报错注入:只能执行sql语句,不能执行命令,但注入结果可以通过报错的方式显示在页面且速度快
(3AND/OR time-based blind基于时间的盲注:速度最慢
(4)UNION query union查询注入:速度快且能执行命令
(5)Stacked queries 堆查询注入:SQL Server
注入优先顺序:堆 > union > 报错 > 盲注 > 基于时间的盲注