rushan-2024/WEB-APPLICATION-FIREWALL---IPS-
GitHub: rushan-2024/WEB-APPLICATION-FIREWALL---IPS-
基于 Python/Flask 的 Web 应用防火墙与入侵防御系统,通过代理架构实现 SQL 注入拦截、速率限制和实时攻击监控,适合 Web 安全教学与演示。
Stars: 0 | Forks: 0
# 🔥 Web Application Firewall - Intrusion Prevention System (WAF IPS)
一个完整的基于 Python 的 Web Application Firewall (WAF),集成了 Intrusion Prevention System (IPS)。
包含统一的 UI、dashboard、admin panel、攻击模拟器、PDF 报告以及一键启动器。
## 🚀 功能
* 基于 rule 的 HTTP 请求过滤
* SQL Injection 检测与拦截
* 攻击日志系统 (`attacks.log`)
* Rate limiting (DoS 防护)
* 基于 proxy 的流量监控
* 实时攻击 dashboard
* 生成 PDF 报告
* 带有控制选项的 admin panel
* 攻击模拟器 + 对比模式
* 使用 `start_demo.bat` 一键执行
## 🧠 架构
Client → WAF Proxy (8080) → Backend + UI Server (5001)
## 📁 项目结构
backend.py - 统一的后端 + UI
proxy.py - WAF proxy 服务器
rules_engine.py - 检测逻辑
logger.py - 日志系统
rate_limiter.py - Rate limiting
dashboard.py - Dashboard 服务
report.py - PDF 生成器
admin.py - Admin panel
simulate.py - 攻击模拟器
setupdb.py - 数据库设置
start_demo.bat - 主启动器
blocked_ips.json
attacks.log
test.db
requirements.txt
## ⚙️ 安装说明
克隆 repository:
git clone https://github.com/rushan-2024/WEB-APPLICATION-FIREWALL---IPS-.git
cd mini_project
安装 dependencies:
pip install flask requests fpdf2
## ▶️ 运行项目
start_demo.bat
这将会执行:
* 安装 dependencies
* 设置数据库
* 启动所有服务器
* 自动打开浏览器
## 🌐 应用路由
首页: http://localhost:5001
登录: http://localhost:5001/login
Dashboard: http://localhost:5001/dashboard
模拟器: http://localhost:5001/simulate
对比: http://localhost:5001/compare
统计: http://localhost:5001/stats
Admin Panel: http://localhost:5001/admin
PDF 报告: http://localhost:5003
## 🔐 Admin 凭据
密码: admin123
## 🧪 测试攻击
示例:
/login?user=1 OR 1=1--
预期结果:
* 被拦截 (403)
* 记录在 attacks.log 中
* 在 dashboard 中可见
## 🔒 检测到的攻击
* SQL Injection
* SQL 注释 (`--`)
* 危险查询 (DROP, INSERT, UPDATE)
* 通过 rate limiting 防御 DoS
## 📊 Demo 流程
1. /stats
2. /login
3. /simulate
4. /compare
5. /dashboard
6. http://localhost:5003/download/pdf
7. /admin
## ⚠️ 局限性
* 无法检测高级混淆攻击
* 有限的 XSS/CSRF 防护
* 基础的 rate limiting
## 🚀 未来改进
* 基于 AI/ML 的检测
* 高级 payload 解码
* XSS & CSRF 防护
* IP 封禁
* 云端部署
## 🛠 技术栈
Python
Flask
Requests
SQLite
FPDF2
## 🤝 贡献
Fork → 创建分支 → 提交 PR
标签:AppImage, CISA项目, Flask, Python, Web应用防火墙, 入侵防御系统, 反向代理, 威胁猎捕, 字符串匹配, 无后门, 网络安全, 逆向工具, 隐私保护