Skip to content

Commit 4cce64b

Browse files
committed
添加手动创建任务
1 parent d5fb100 commit 4cce64b

1 file changed

Lines changed: 10 additions & 27 deletions

File tree

app/apis/sqlmap_api.py

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import os
2-
from fastapi import APIRouter, HTTPException, Body
2+
33
import requests
44
from dotenv import load_dotenv
5-
import app.schema.sqlmap as sqlmapschema
5+
from fastapi import APIRouter, HTTPException, Body
6+
67
import app.core.sqlmap_core as sqlmap_task
8+
import app.schema.sqlmap as sqlmapschema
9+
import app.tasks.sqlmap_worker as sqlmap_worker
710

811
router = APIRouter(prefix="/sqlmap", tags=["SQLMap扫描任务"])
912

10-
1113
load_dotenv()
1214
SQLMAP_API = os.getenv("SQLMAP_API")
1315
AUTH = (os.getenv("SQLMAP_USERNAME"), os.getenv("SQLMAP_PASSWORD")) # Basic Auth
@@ -24,31 +26,12 @@ async def start_scan(payload: sqlmapschema.SqlmapScanPayload = Body(...)):
2426
}
2527
"""
2628

27-
r = requests.get(f"{SQLMAP_API}/task/new", auth=AUTH)
28-
if not r.ok:
29-
raise HTTPException(500, "sqlmap task 创建失败")
30-
31-
taskid = r.json()["taskid"]
32-
33-
# 2. 启动扫描
34-
start = requests.post(
35-
f"{SQLMAP_API}/scan/{taskid}/start",
36-
json=payload.model_dump(mode="json"), # json转换问题
37-
auth=AUTH,
38-
)
39-
40-
await sqlmap_task.task_add(
41-
task_id=taskid,
42-
scan_url=str(payload.url),
43-
status="running",
44-
scan_risk=payload.risk,
45-
scan_level=payload.level,
46-
)
29+
celery_tasks = sqlmap_worker.sqlmap_scan_task.delay(payload.model_dump(mode="json"))
4730

48-
if not start.ok:
49-
raise HTTPException(500, start.text)
50-
51-
return {"success": True, "taskid": taskid}
31+
return {
32+
"success": True,
33+
"taskid": celery_tasks.id,
34+
}
5235

5336

5437
@router.get("/tasks")

0 commit comments

Comments
 (0)