erkinkasim/owasp-sql-injection-detection-lab
GitHub: erkinkasim/owasp-sql-injection-detection-lab
基于Python的SQL注入检测实验环境,通过分析Apache日志识别DVWA靶场中的SQL注入攻击并生成JSON告警。
Stars: 0 | Forks: 0
# OWASP SQL 注入检测实验室
该项目是一个基于 Python 的安全实验室,通过分析 Apache 访问日志来检测在 DVWA (Damn Vulnerable Web Application) 环境中发生的 **SQL 注入攻击**。
其目的是演示如何通过 **日志分析** 来检测针对 Web 应用程序的攻击,并构建基础的攻击检测机制。
# 项目特性
- 实时分析 Apache 访问日志
- 检测 SQL 注入攻击模式
- 为检测到的攻击生成 **JSON 格式的告警**
- 将告警保存到 **alerts.json** 文件中
- 程序终止时生成 **attack summary(攻击摘要)**
# 使用的技术
- Python
- Docker
- DVWA (Damn Vulnerable Web Application)
- Apache 日志分析
# 实验环境设置
启动 DVWA 容器:
```
docker run -d -p 8080:80 --name dvwa vulnerables/web-dvwa
Tarayıcıdan erişim:
http://localhost:8080
Login bilgileri:
username: admin
password: password
Security Level:
LOW
SQL Injection Testi
DVWA içindeki SQL Injection modülünde aşağıdaki payload kullanılabilir:
1' OR '1'='1
Bu saldırı Apache access loglarına şu şekilde yansır:
GET /vulnerabilities/sqli/?id=1%27+OR+%271%27%3D%271 HTTP/1.1
Detection Scripti Çalıştırma
Apache loglarını Python scriptine pipe ederek gerçek zamanlı analiz yapılabilir:
docker exec -i dvwa tail -f /var/log/apache2/access.log | python3 detector.py
Örnek Alert
Saldırı tespit edildiğinde aşağıdaki gibi bir alert üretilir:
{
"timestamp": "2026-03-07T21:00:27",
"source_ip": "172.17.0.1",
"attack_type": "SQL Injection",
"severity": "high"
}
Alerltler ayrıca:
alerts.json
dosyasına kaydedilir.
Attack Summary
Program sonlandırıldığında saldırı istatistikleri gösterilir:
SQL Injection: 11
Amaç
Bu proje, aşağıdaki konuları göstermek amacıyla hazırlanmıştır:
Web saldırılarının log analizi ile tespiti
Basit bir saldırı detection mekanizması geliştirmek
Python ile security monitoring scripti yazmak
KAYNAK:
OWASP Top 10
https://owasp.org/www-project-top-ten/
```
标签:Apache日志分析, AppImage, CISA项目, Docker, DOE合作, DVWA, Python, SQL注入检测, WAF, Web安全, Web应用防火墙, 安全实验室, 安全教育, 安全测试, 安全防御评估, 攻击告警, 攻击性安全, 无后门, 漏洞靶场, 网络安全, 蓝队分析, 请求拦截, 逆向工具, 防御检测, 隐私保护