【安全测试】sqlmap工具(sql注入)学习

前言:sqimap是一个开源的渗透测试工具,它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程。它有一个强大的检测引擎,许多适合于终极渗透测试的小众特性和广泛的开关,从数据库指纹、从数据库获

取数据到访问底层文件系统和通过带外连接在操作系统上执行命令。

官方网址:http://sqlmap.org/

本文是用于学习,请自觉维护网络安全。

一、安装

1.1 环境准备

使用python2.X的环境

注意: 我其实是3.8.10版本,我没有使用2.X,唯一区别是我安装了一下,发现没有问题

复制代码
pip install pymysql

1.2 下载sqlmap

官网:sqlmap: automatic SQL injection and database takeover tool

1.3 解压使用

直接解压即可使用

1.3.1 查看版本

复制代码
python sqlmap.py --version

1.3.2 查看帮助

复制代码
python sqlmap.py -h


#  高级帮助

python sqlmap.py -hh

二、使用kali linux 来使用sqlmap

2.1 kali linux安装

kali linux 安装(略)

2.2 kali linux升级sqlmap

2.2.1 更新软件包列表

打开终端,输入以下命令来更新Kali Linux的软件包列表

复制代码
sudo apt update

2.2.2 升级sqlmap

输入以下命令来升级sqlmap到最新版本:

复制代码
sudo apt install --only-upgrade sqlmap

2.2.3 验证升级

升级完成后,可以通过输入以下命令来检查sqlmap的版本号,以确认是否已经成功更新到最新版本

复制代码
sqlmap --version

更多升级方法点击 ===》 其他升级方法

三、sqlmap获取目标

3.1 sqlmap直连数据库

复制代码
sqlmap -d "mysql://root:密码@IP:端口/dora" -f --banner -users 

#  windows执行 sqlmap 换成   python sqlmap.py   即可

3.2 sqlmap进行URL探测

复制代码
# 这是在kali linux里面执行的
sqlmap -u "http://192.168.1.100/sqli/Less-1/index.php?id=1" --banner

3.3 sqlmap文件读取目标

3.3.1 -l 从burpsuite proxy 或webscarab proxy日志文件读取http请求

配置burpsuite

配置浏览器代理

windows配置

kali linux的火狐浏览器配置代理

浏览器输入

先配置好burp suite下图

浏览器输入网址之后,通过点击forward

将第一步文件放到sqlmap 文件下

执行命令

复制代码
python sqlmap.py -l test

3.3.2 -x 从sitemap.xml站点地图读取目标

3.3.3 -m从多行文本格式读取多个目标

多行文本格式文件如下

3.3.4 -r 从文本文件中读取http请求

将从burp suit获取的信息存储到一个文本文件,然后执行命令进行探测

3.3.5 -c 从配置文件sqlmap.conf中读取

上面的方法,都可以从这里指定文件执行

例如配置url:

复制代码
python sqlmap.py -c sqlmap. conf

3.4 sqlmap Google批量扫注入

由于墙的原因,无法实现,有能力者,实验

四、sqlmap设置请求参数

4.1 sqlmap设置HTTP方法

4.2 sqlmap设置post提交参数

下图红色方框信息可以通过burp suite 抓取 (我自己使用的时候一定要intercept ,然后通过forword获取信息)

发现问题:

在burp suite 的action

只替换admin

点击go

1、在kali机器上的使用火狐浏览器打开被测系统打开到登录页面

2、kali上的火狐设置代理,找不到搜索network

3、打开burp suite 的截断

3、在浏览器点击登录,到burpsuite上查看截取信息

4、打开sqlmap

切换到root用户

输入

复制代码
sqlmap -u "http://199.28.10.135:90/login.php" --data="admin&password=passeord&Login=Login&user_token=3a04485e24d70e0e0e0a76ad7b974026" -f --banner --dbs --users

4.3 sqlma设置参数分隔符

使用--param-del 指定分隔符

4.4 sqlmap设置cookie头

4.5 sqlmap设置user-agent

4.6 sqlmap设置host头

4.7 sqlmap设置referer

4.8 sqlmap设置额外http头

4.9 待补充

DVWA靶场系统环境搭建

1、docker环境安装

复制代码
docker pull citizenstig/dvwa
docker run -d -p 90:80 --name dvwa --restart always citizenstig/dvwa:latest

2、访问

ip:端口

admin passwod

相关推荐
爱吃苹果的日记本7 小时前
离散数学第六课
学习·离散数学
AI职业加油站9 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光9 小时前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊9 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁9 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
彧azz9 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
我爱cope10 小时前
【操作系统 | 计算机硬件:CPU、内存与 I/O 如何支撑操作系统?】
学习·操作系统
`流年づ11 小时前
人工智能学习笔记 - 补充
人工智能·笔记·深度学习·学习
qeen8711 小时前
【Linux】操作系统之进程介绍(二)
linux·笔记·学习·进程
m4Rk_12 小时前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github