SQL 注入观测实验总结
实验概述
本文详细介绍了如何搭建SQL注入观测环境,通过设置服务器和数据库日志来观察SQL注入攻击的全过程。
实验步骤详解
1. 环境搭建
• 拉取并启动sqli-lab容器:
启动后可通过http://localhost访问
• 安装数据库:
访问http://localhost/sql-connections/setup-db.php安装SQL注入实验数据库
• 访问注入实验页面:
访问http://localhost/Less-1/进入SQL注入实验页面
2. 基础SQL查询测试
• 尝试访问http://localhost/Less-1/?id=1
• 页面会发起SQL查询并展示相应内容
3. 日志设置与观测
• 进入容器:
• 查看Apache访问日志:
• 配置MySQL日志:
1. 进入MySQL:
2. 开启通用查询日志:
• 查看MySQL日志:
4. SQL注入测试
• 使用sqlmap进行注入测试:
成功执行后可获取数据库中的数据
• 实时观测注入过程:
通过同时查看Apache访问日志和MySQL查询日志,可以清晰观察到:
• 攻击如何通过id参数注入
• 恶意SQL查询如何在数据库中执行
实验价值
该实验完整展示了:
1. SQL注入漏洞环境的搭建方法
2. 服务器和数据库日志的配置方式
3. SQL注入攻击的实际执行过程
4. 如何通过日志分析攻击行为
通过此实验,可以深入理解SQL注入的攻击原理和防御重要性。
实验概述
本文详细介绍了如何搭建SQL注入观测环境,通过设置服务器和数据库日志来观察SQL注入攻击的全过程。
实验步骤详解
1. 环境搭建
• 拉取并启动sqli-lab容器:
docker run -dt --name sqli-lab -p 80:80 acgpiano/sqli-labs:latest
启动后可通过http://localhost访问
• 安装数据库:
访问http://localhost/sql-connections/setup-db.php安装SQL注入实验数据库
• 访问注入实验页面:
访问http://localhost/Less-1/进入SQL注入实验页面
2. 基础SQL查询测试
• 尝试访问http://localhost/Less-1/?id=1
• 页面会发起SQL查询并展示相应内容
3. 日志设置与观测
• 进入容器:
docker exec -it sqli-lab bash
• 查看Apache访问日志:
tail -f /var/log/apache2/access.log
• 配置MySQL日志:
1. 进入MySQL:
mysql -u root
2. 开启通用查询日志:
SET global general_log = 1;
SET global log_output = 'FILE';
SET global general_log_file = '/var/lib/mysql/general.log';
SHOW VARIABLES LIKE 'general_log%';
• 查看MySQL日志:
tail -f /var/lib/mysql/general.log
4. SQL注入测试
• 使用sqlmap进行注入测试:
sqlmap -u http://localhost/Less-1?id=1 --dump --batch
成功执行后可获取数据库中的数据
• 实时观测注入过程:
通过同时查看Apache访问日志和MySQL查询日志,可以清晰观察到:
• 攻击如何通过id参数注入
• 恶意SQL查询如何在数据库中执行
实验价值
该实验完整展示了:
1. SQL注入漏洞环境的搭建方法
2. 服务器和数据库日志的配置方式
3. SQL注入攻击的实际执行过程
4. 如何通过日志分析攻击行为
通过此实验,可以深入理解SQL注入的攻击原理和防御重要性。