宝塔+雷池WAF插件方案(不改端口)
2026-10-20宝塔,雷池,waf,安全,网络攻击,教程,心得
## 使用宝塔插件不改端口使用雷池
> 由于雷池WAF社区版与宝塔相互独立,本篇介绍如何通过宝塔插件,在不修改端口的前提下,使用雷池WAF,
>注意:插件 + 雷池方案本身**不带 CC |爬虫| 路径爆破防护**,所以 要额外想办法。
>提示:本插件和现有的 Nginx 的防火墙只能安装一个,请勿与其他 Nginx WAF 同时使用。
## 一、安装雷池社区版
先使用docker安装(ubuntu22为例)
```bash
root@ubuntu:~# bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
____ __ _ _
/ ___| __ _ / _| ___ | | (_) _ __ ___
\___ \ / _` | | |_ / _ \ | | | | | '_ \ / _ \
___) | | (_| | | _| | __/ | |___ | | | | | | | __/
|____/ \__,_| |_| \___| |_____| |_| |_| |_| \___|
[SafeLine] 检测到 ufw 正在运行
[SafeLine] 建议关闭 ufw (Y/n)
grep: /etc/selinux/config: No such file or directory
Docker Compose version v5.6.0
[SafeLine] 雷池安装目录 (留空则为 '/data/safeline'):
[SafeLine] 目录 '/data/safeline' 当前剩余空间: 999G,是否确定 (Y/n)
[SafeLine] 创建安装目录 '/data/safeline' 成功
[SafeLine] 配置 .env 文件完成
[SafeLine] 正在拉取雷池镜像...
[+] pull 74/74
.....
[SafeLine] 正在启动雷池服务...
[+] up 8/8
.....
[SafeLine] 雷池服务启动成功
```
ufw正在运行,由于我们并非测试,直接n,事后放行雷池管理后台9443`ufw allow 9443/tcp`即可,安装路径默认即可。
## 二、下载插件
开发者的话:
“对于同时使用宝塔面板和雷池WAF的用户而言,目前网络上的接入教程均为采用修改Nginx端口反向代理的方式来实现,整个过程需要手动编辑Nginx配置文件,操作繁琐且容易出错。
为此,我开发了「雷池WAF」宝塔面板插件。该插件基于雷池官方提供的 lua-resty-t1k 接入方案,通过 Unix Socket 将宝塔Nginx的请求转发至雷池 detector 检测引擎进行处理。与反向代理方式相比,这套方案性能更优,且无需复杂配置。同时,插件还支持按站点独立开启防护、高级参数配置、自定义拦截页面、操作日志记录等功能。”
下载插件或详情工作原理请前往原文。感谢社区插件提供者:**缤纷彩虹天地**
原文地址: https://blog.cccyun.cn/post-560.html
📄safeline-1.1.zip 42kb
版权属于: 缤纷彩虹天地
本文仅作转载。
## 三、宝塔安装插件

- 点击导入插件,选中safeline.zip。等待安装成功

- 点击设置即可检查是否已安装成功。

- 如果雷池WAF检测服务全绿则说明已就绪,点左侧站点列表即可开启对应站点WAF防护

## 四、WAF验证
### 一、GET 类 Web 攻击(XSS、SQL 注入、命令注入、路径遍历)
```
# 1. GET XSS
curl -i "https://example.com/?xss=<script>alert(1)</script>"
# 2. GET SQL注入
curl -i "https://example.com/?id=1' OR 1=1 -- -"
# 3. GET 命令注入
curl -i "https://example.com/?cmd=;id;"
# 4. 路径遍历 / 目录穿越
curl -i "https://example.com/?file=../../etc/passwd"
# 5. User-Agent注入(UA头里放XSS)
curl -i -A "<script>alert(1)</script>" "https://example.com/"
```
### 二、POST 表单攻击(application/x-www-form-urlencoded)
```
# 1. POST表单SQL注入
curl -i -X POST -d "user=admin&pass=1' or 1=1--" https://example.com/
# 2. POST表单XSS
curl -i -X POST -d "content=<script>alert(1)</script>" https://example.com/
# 3. POST表单命令注入
curl -i -X POST -d "input=|whoami" https://example.com/
```
### 三、JSON 格式 POST 攻击(API 接口常用)
```
# 1. JSON body XSS
curl -i -X POST -H "Content-Type: application/json" -d '{"msg":"<script>alert(1)</script>"}' https://example.com/
# 2. JSON body SQL注入
curl -i -X POST -H "Content-Type: application/json" -d '{"id":"1'\'' OR 1=1--"}' https://example.com/
```
### 四、Cookie 注入测试
```
curl -i -H "Cookie: user=1' or 1=1--" "https://example.com/"
```
### 五、HTTP 头注入(Referer、X-Forwarded-For)
```
# Referer头XSS
curl -i -H "Referer: <script>alert(1)</script>" "https://example.com/"
# XFF头注入
curl -i -H "X-Forwarded-For: 1.1.1.1' or 1=1--" "https://example.com/"
```
### 六、CC 正常 POST 测试(无攻击载荷,雷池不会拦截)
```
# 单次正常POST
curl -i -X POST -d "name=test&msg=hello" https://example.com/
```
### 七、文件上传 Payload(需要替换为真实上传接口地址)
```
curl -i -X POST -F "file=@/tmp/test.php;filename=shell.jpg" https://example.com/upload
```
## 个人实测

对于这些“正常访问”,这个方案并没有很好的拦截。
这批是**自动化泄露文件爆破扫描器**
行为分为 4 大类:
1. 先访问 `/` 首页 + `assets/index‑xxx.js` 拿前端资源
2. 批量暴力枚举**配置泄露文件**:`.env`系列、`.aws/*`、`.git/*`、`.npmrc`、`.s3cfg`、各种 json/yaml 配置、数据库备份、phpinfo 探针
3. 混杂少量 WebDAV 探测:`PROPFIND /`、`OPTIONS /`、`VEDI /` 这类非 HTTP 标准方法,尝试 WebDAV 上传漏洞
4. 还有爬虫:`ClaudeBot`(AI 爬虫)、`ModatScanner`漏洞扫描器
使用前先自行测试有没有泄露风险:
```bash
# curl看状态码,-i 显示完整响应头
curl -i https://exmple.com/.env
curl -i https://exmple.com/.aws/credentials
curl -i https://exmple.com/.git/config
curl -i https://exmple.com/composer.json
curl -i https://exmple.com/.npmrc
# 诸如此类,不多作赘述
```