PranayaBasukala/ShieldWAF-Web-Application-Firewall
GitHub: PranayaBasukala/ShieldWAF-Web-Application-Firewall
一个基于 Flask 构建的轻量级 Web 应用防火墙,提供针对常见 Web 攻击的多层检测、速率限制和日志审计功能。
Stars: 0 | Forks: 0
# ShieldWAF - Web 应用防火墙
一个使用 Flask 构建的健壮 Web 应用防火墙 (WAF),可保护 Web 应用免受常见攻击向量的威胁,包括 SQL 注入、XSS、路径遍历、远程代码执行和撞库攻击。
## 🚀 在线演示
[](https://web-app-firewall.onrender.com/)
## 功能
### 🛡️ 多层安全
**第一层:攻击检测**
- SQL 注入防御
- 跨站脚本攻击 (XSS) 防护
- 路径遍历检测
- 远程代码执行 (RCE) 防御
- 基于评分的威胁评估(≥5 分 = 拦截,2-4 分 = 可疑,<2 分 = 允许)
**第二层:可疑行为检测**
- 撞库检测
- 附加行为分析
- 可疑活动标记
### 📊 速率限制
- 防止暴力破解攻击
- 每个 IP 每 60 秒 30 次请求
- 超出限制时返回 429 状态码
### 📝 综合日志记录
- 输出结构化 JSON 日志至 `waf_errors.log`
- 使用 SQLite 进行数据库日志记录
- 包含时间戳和 IP 地址的详细错误追踪
- 用于监控的控制台输出
### 🗄️ 数据库集成
- 用于事件日志记录的 SQLite 数据库
- 攻击统计和历史记录
- 日志检索和分析端点
### ⚡ 异常处理
- 全局错误处理器
- 超时保护
- 组件故障时的优雅降级
- 详细的错误追踪和报告
### 🎨 Web 仪表板
- 实时 WAF 状态监控
- 攻击可视化
- 日志查看界面
## 技术栈
- **后端**:Flask 3.0.3
- **Web 服务器**:Gunicorn 21.2.0
- **数据库**:SQLite
- **语言**:Python 3.x
## 安装
### 前置条件
- Python 3.x
- pip
### 设置
1. 克隆仓库:
```
git clone
cd web-app-firewall
```
2. 创建并激活虚拟环境:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. 安装依赖
```
pip install -r requirements.txt
```
### 依赖项
Flask==3.0.3
Gunicorn==21.2.0
setuptools
标签:API安全, AppImage, CISA项目, ETW劫持, Flask, Gunicorn, HTTP流量分析, JSON输出, Python, RCE防护, SQLite, SQL注入防御, WAF, Web安全, Web应用防火墙, XSS防护, 入侵防御, 分布式计算, 多层安全防御, 威胁监控, 威胁评估, 安全仪表盘, 安全可视化, 安全网关, 异常处理, 撞库检测, 无后门, 日志记录, 暴力破解防护, 网络安全, 蓝队分析, 跨站脚本防御, 路径遍历防御, 远程代码执行防御, 逆向工具, 隐私保护