目录
一、使用sqlmap做简单扫描
(1) 输入命令:python “sqlmap路径” -u “需要测试的网址”
例子:
python E:\sqlmap-master\sqlmap.py -u http://192.168.174.152/sql/Less-9/?id=1
(2)命令开始运行
(3)扫描结束,输出结果
二、分析sqlmap扫描结果
(1)打开刚刚sqlmap扫描报告存储的路径
主要有三个文件
(2)分析session.sqlite文件
session.sqlite文件打开后是乱码,作为一个基础简单使用,所以我们先不分析它
(3)分析target.txt文件
target.txt文件不是乱码,但是有用的信息非常少,都是我们已知的信息,即,扫描的网站,以及我们刚刚输入的扫描命令
(4)分析log文件
有用的信息很多
具体的信息如下,以代码的形式展示,方便复制分析
sqlmap identified the following injection point(s) with a total of 274 HTTP(s) requests:
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1' AND 3440=3440 AND 'zQCg'='zQCg
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1' AND (SELECT 4998 FROM (SELECT(SLEEP(5)))rPUF) AND 'tngB'='tngB
---
web application technology: Apache 2.4.39, PHP 5.3.29
back-end DBMS: MySQL >= 5.0.12
下面是具体的详细分析:
sqlmap identified the following injection point(s) with a total of 274 HTTP(s) requests
这表明 sqlmap
在测试过程中识别了一个注入点,并且为了识别这个注入点,它总共发送了 274 个 HTTP 或 HTTPS 请求。
Parameter: id (GET)
这是一个 GET 请求参数,攻击者尝试在这个参数中注入 SQL 代码。
Type: boolean-based blind
和 Type: time-based blind
这些是两种不同类型的盲注(blind injection)攻击方式。
- 布尔型盲注(Boolean-based blind): 这种攻击依赖于通过观察页面响应的变化来判断注入的 SQL 语句是否执行成功。通常用于当无法看到 SQL 查询结果时。
- 时间型盲注(Time-based blind): 这种攻击通过让数据库服务器执行一个长时间运行的操作(如
SLEEP
函数),根据页面响应时间的长短来判断注入的 SQL 语句是否执行成功。
Payload
: 这是注入攻击中使用的特定有效载荷(payload),即注入的 SQL 代码。例如
对于布尔型盲注:id=1' AND 3440=3440 AND 'zQCg'='zQCg
对于时间型盲注:id=1' AND (SELECT 4998 FROM (SELECT(SLEEP(5)))rPUF) AND 'tngB'='tngB
web application technology: Apache 2.4.39, PHP 5.3.29
: 这表明目标网站使用的是 Apache 2.4.39 版本作为其 Web 服务器软件,以及 PHP 5.3.29 版本作为其后端脚本语言
back-end DBMS: MySQL >= 5.0.12
: 这表明后端数据库管理系统(DBMS)是 MySQL,并且版本号是 5.0.12 或更高