if __name__ == '__main__':
app.run(debug=True)
```
### 3. 构建检测逻辑
在核心逻辑中,我们需要针对输入字段进行恶意数据注入攻击测试,例如添加常见的SQL注入字符串,如 `"' OR '1'='1"`。
```python
import requests
def sql_injection_test(url):
payloads = ["' OR '1'='1", '" OR "1"="1', "'; DROP TABLE users; --"]
for payload in payloads:
r = requests.get(url + "?id=" + payload)
if "error" in r.text.lower() or "mysql" in r.text.lower():
print(f"可能存在SQL注入漏洞: {payload}")
```
### 4. 报告生成
使用Python的`csv`库生成报告,记录检测结果。
```python
import csv
def generate_report(results):
with open('sql_injection_report.csv', mode='w') as file:
writer = csv.writer(file)
writer.writerow(['Payload', 'Vulnerable'])
for payload, vulnerable in results.items():
writer.writerow([payload, vulnerable])
```