Note
① 登录虚拟机(Win7_x64),登录本机数据库服务(数据库根路径:C:\phpStudy\MySQL,账号密码:root:root),请进行以下操作:1. 查询 MySQL 服务的日志路径;2. 分析 MySQL 日志,描述攻击者进行了何种类型的网络攻击?3. 攻击者窃取了哪个数据库的哪个数据表里面的敏感数据?
② 分析 Web 日志文件(c:\files\hack_access.log),日志文件可见该 Web 服务收到了何种类型的网络攻击?攻击者 IP 是?攻击者植入的后门文件名是?
一、分析 MySQL 日志
1. 登录 MySQL
- 打开 CMD。
- 输入:
cd /d C:\phpStudy\MySQL\bin
mysql -uroot -proot
2. 查询 MySQL 日志路径
登录后依次输入:
SHOW VARIABLES LIKE 'log_error';
查看错误日志路径。
SHOW VARIABLES LIKE 'general_log_file';
查看通用查询日志路径。
SHOW VARIABLES LIKE 'general_log';
查看通用查询日志是否开启(ON 表示开启)。
3. 分析攻击类型
- 找到实际存在的 MySQL 日志文件。
- 用 Notepad++ 打开。
- 按
Ctrl + F搜索以下关键词:
UNION
SELECT
information_schema
INTO OUTFILE
LOAD_FILE
根据日志判断:
| 关键词或特征 | 可能的攻击行为 |
|---|---|
UNION SELECT |
SQL 注入 |
information_schema |
数据库结构探测 |
大量异常 SELECT |
数据查询或窃取行为 |
INTO OUTFILE |
将查询结果写入服务器文件 |
LOAD_FILE |
尝试读取服务器文件 |
注意:需结合完整 SQL 语句判断,不能仅凭关键词确定攻击成功。若通用日志未开启,还需要检查其他实际留存的日志。
4. 查找被窃取的数据库和数据表
在可疑 SQL 语句中,查找:
SELECT * FROM 数据库名.数据表名;
或者:
USE 数据库名;
SELECT * FROM 数据表名;
记录涉及敏感数据的数据库名和表名,并结合日志判断是否存在实际数据获取行为。
二、分析 Web 日志
5. 打开 Web 日志
- 打开文件夹
C:\files。 - 找到
hack_access.log。 - 使用 Notepad++ 打开。
6. 判断攻击类型
按 Ctrl + F,依次搜索:
union
select
upload
POST
.php
.asp
.aspx
| 日志特征 | 可能的攻击类型 |
|---|---|
union select |
SQL 注入攻击 |
../ |
目录遍历攻击 |
POST 请求上传接口及可疑文件 |
文件上传攻击 |
| 请求异常 PHP、ASP 文件 | WebShell 后门访问 |
7. 查找攻击者 IP
- 找到可疑攻击请求。
- 查看该日志记录开头的客户端 IP。
- 对比其他可疑请求,确认攻击来源。
常见日志格式示例:
192.168.1.100 - - [时间] "POST /upload.php HTTP/1.1" 200
攻击者 IP(示例):192.168.1.100。
8. 查找植入的后门文件
- 搜索
POST、upload、.php、.asp、.aspx。 - 查找可疑文件上传记录。
- 检查后续是否存在对可疑文件的访问。
- 根据请求 URL、状态码及日志内容确认后门文件名称。
例如:
POST /upload.php
GET /uploads/shell.php
可疑后门文件名(示例):shell.php。
注意:仅有访问日志不一定能确认上传成功,必要时检查网站目录中的实际文件。