SQLMap
直连数据库
-d指令
-
服务型数据库
前提是知道数据库的账号密码
python sqlmap.py -d "mysql://账户名:密码@连接地址:3306/数据库名" 后面加上想要查询的信息
python sqlmap.py -d "mysql://root:root@127.0.0.1:3306/mpy" --banner -f --users --dbs
-
文件性数据库
前提是知道数据库的绝对路径
python sqlmap.py -d "access://database_filepath"
URL检测
GET方式提交
-u指令
指定单个URL
python sqlmap.py -u "https://www.baidu.com"
POST方式提交
--froms指令
自动搜索表单信息
--data指令
把数据以POST方式进行提交
python3 sqlmap.py -u "http://192.168.31.250" --data "id=1&ns=1"
COOKIE请求
--cookie指令
cookie请求
python3 sqlmap.py -u "http://192.168.31.250" –cookie "id=11" –level 2(只有level达到2才会检测cookie)
文件方式
-m指令
把URL存放到文件中,SQLMap会一个一个进行检测
信息检测
数据库版本号
--banner | -b指令
数据库版本信息
用户信息
-current-user指令
当前用户
-users指令
所有用户
--is-dba指令
当前用户是否为管理员权限
--privileges指令
如果--is-dba是TRUE的话,很可能列举出每个用户的权限
系统架构
--schema指令
获取数据库的架构【所有的数据库、数据表、数据字段及各自类型,加上--exclude-sysdbs将不会获取数据库自带的系统内容】
HTTP请求头设置
User-agent头
--user-agent指令
指定user-agent请求头
--random-agent指令
选择随机的user-agent请求头
--mobile指令
模拟一个手机的user-agent请求头
Host头
--host指令
指定Host请求头
Referer头
--referer指令
指定Referer请求头
其他请求头
--headers指令
通过该参数来添加额外的HTTP头
其他设置
跑https的数据
--force-ssl指令
https服务
请求延迟
--delay指令
每次请求延迟
超时设置
--timeout指令
请求多久判为延迟【默认10秒】
代理设置
--proxy指令
使用本地端口进行代理【--porxy "http://127.0.0.1:8080" : 】
跑数据
跑数据库
-current-db指令
当前数据库
--dbs指令
跑数据库
-D指令
指定数据库
跑数据表
--tables指令
跑数据表
-T指令
指定数据表
--common-tables指令
如果--tables没有数据表显示,可用该参数暴力破解数据表【指定字典】
跑数据字段
--columns指令
跑数据字段
-C指令
指定字段
--common-columns 指令
如果--columns没有数据表显示,可用该参数暴力破解数据字段【指定字典】
跑全部数据
--dump指令
枚举数据
--passwords : 列出并进行破解密码【MD5加密】
--count : 获取数据个数不会获取其中的内容
常见的其他指令
指定文件
-r : burp抓取到数据包,在疑似有问题的传参数据后加上"*"
如 : username=admin&password=123*
-p : 需要配合-r,达到指定参数的效果
python3 sqlmap.py -r 1.txt -p 参数名
文件操作
--file-read : 读取文件
--file-write : 编辑文件
--file-dest : 写入文件
数据库操作
--sql-shell : SQL命令执行
--sql-query : 指定mysql进行查询
--sql-file : 从文件中执行mysql语句
系统操作
要求:
- 管理员root
- 有绝对路径
- PHP自动转义gpc关闭
- secrue_file_priv为空
--os-cmd : 执行操作系统命令
--os-shell : 交互式操作系统的shell

浙公网安备 33010602011771号