Skip to content

Commit e334b93

Browse files
committed
修改markdown
1 parent 1b708df commit e334b93

1 file changed

Lines changed: 55 additions & 9 deletions

File tree

README.md

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,58 @@
1-
# FastAPI-SQLMap 扫描服务
1+
# FastAPI-SQLMap 扫描任务管理系统项目说明
22

3-
基于FastAPI的分布式SQL注入扫描服务,整合SQLMap API和Celery任务队列,提供RESTful接口管理扫描任务。
3+
## 项目概述
4+
本项目是基于 FastAPI + Celery 构建的分布式 SQL 注入扫描任务管理系统(管理员端暂未实现。还没有加鉴权),主要实现以下核心功能:
45

5-
## 技术栈
6-
- **Web框架**: FastAPI
7-
- **任务队列**: Celery + RabbitMQ + Redis
8-
- **数据库**: PostgreSQL(异步SQLAlchemy ORM)
9-
- **包管理**: UV (Python 3.12)
6+
- 自动化调度 SQLMap 进行漏洞扫描
7+
- 任务状态跟踪与结果可视化
8+
- 扫描日志实时采集与分析
9+
- 基于 Celery 的异步任务队列管理
1010

11-
# SQLMAP
12-
需要自备一个sqlmap的docker容器。以API模式启动
11+
## 技术栈说明
12+
| 组件 | 用途说明 |
13+
|-------------------|---------------------------------|
14+
| FastAPI | REST API 接口开发框架 |
15+
| Celery + Redis | 分布式任务队列与消息中间件 |
16+
| PostgreSQL | 扫描结果与任务日志存储 |
17+
| SQLAlchemy | 异步/同步 ORM 数据库操作 |
18+
| SQLMap API | 集成 SQLMap 扫描引擎 |
19+
| uv | 项目依赖管理工具 |
20+
21+
## 项目目录结构
22+
```text
23+
app/
24+
├── apis/ # API 路由定义(Router)
25+
├── core/ # 核心业务逻辑与公共工具
26+
├── database/ # 数据库连接与会话管理
27+
├── middleware/ # 中间件配置(含 Celery、鉴权等)
28+
├── models/ # ORM 数据库模型
29+
├── schema/ # Pydantic 数据校验模型
30+
└── tasks/ # Celery 异步任务定义
31+
```
32+
33+
## 核心模块说明
34+
35+
### 1. 任务调度中心 (tasks/)
36+
- `sqlmap_worker.py`:实现 Celery 任务队列管理
37+
- `sqlmap_scheduler.py`:定时轮询任务状态
38+
- 功能亮点:
39+
- 自动重试机制
40+
- SQLMap 日志实时采集
41+
- 扫描结果标准化处理
42+
43+
### 2. 数据库管理 (database/)
44+
- 双引擎配置:
45+
- 异步接口:`database.py` (FastAPI 使用)
46+
- 同步接口:`celery_sync_database.py` (Celery 使用)
47+
48+
49+
### 3. API 接口层 (apis/)
50+
51+
## 典型 API 接口示例
52+
| 端点 | 方法 | 功能说明 |
53+
|-----------------------------|--------|-----------------|
54+
| `/sqlmap/scan` | POST | 创建新的扫描任务|
55+
| `/sqlmap/tasks/{task_id}` | GET | 获取指定任务状态|
56+
| `/sqlmap/tasks/{task_id}/log`| GET | 获取任务执行日志|
57+
58+
> 💡 提示:项目使用 `uv` 作为包管理工具,依赖安装命令为 `uv add [package-name]`

0 commit comments

Comments
 (0)