一次真实的攻防演练:3个高危漏洞,2天被攻破,1年后才完全修复
2023年5月,一场代号”香山网盾”的网络安全攻防演练,让一个刚通过6个月试运行、被判定为”系统运行正常”的政务系统,在2天内被攻击队攻破3次。
01 试运行181天全正常,攻防2天就被打穿
2023年4月30日,中山市香山书房智慧管理系统完成了长达181天的试运行。每天的值班日志上,都工工整整地写着”系统正常”。
建设单位、监理单位、承建单位三方签字确认:系统运行平稳,无重大缺陷发生,已具备正式上线条件。
一个月后,”香山网盾—2023″网络安全攻防演练拉开帷幕。
攻击队入场。2天内,这个”完全正常”的系统被攻破了3次。
试运行验证的是功能,攻防演练检验的是安全。两者是两码事。
02 漏洞一:Spring Boot Actuator 未授权访问
攻击队发现系统的 Spring Boot Actuator 端点没配任何访问控制。
攻击者只需要在浏览器输入 /actuator,就能看到系统的全部监控端点。
但这还不是最严重的。
攻击队找到了 /actuator/heapdump,下载了Java虚拟机的内存转储文件。
一个heapdump文件,装的是系统运行时的一切——数据库密码、配置中心密钥、所有业务数据。
通过解析这个文件,攻击队直接拿到了:
- MySQL数据库的root账号密码
- Nacos配置中心的管理员账号密码
从发现漏洞到拿到最高权限,用了不到30分钟。
一个配置项的错误,能让所有加密形同虚设。
03 漏洞二:后台没上锁,密码写在前端代码里
同一个攻击队,换了一个系统——香山书房中控平台。
这次更直接:中控平台的后台页面,压根不需要登录。直接在浏览器输入网址,就能看到全市香山书房的实时监控视频。
不用猜密码,不用绕认证,连门槛都没有。
攻击队继续翻看前端代码,在 config.js 文件中找到了系统账号和密码。虽然密码用了MD5加密,但2023年的MD5,在线网站一秒就能破解。
两个高危漏洞叠加:
- 后台未授权:直接访问,全市监控视频一览无余
- 前端硬编码:拿到账号密码,登录系统任意操作
把密码写在前端代码里,相当于把家门钥匙贴在门外。
04 漏洞三:一个参数就能绕过登录
攻击队没有停手。第三个漏洞来自图书馆的核心业务系统——Interlib图书馆自动化集群管理系统。
这是一个文件上传漏洞,配合一个让人哭笑不得的认证绕过方式:
只需要在请求中传入 cmdACT=fenjiqun 和任意 loginid,系统就会自动分配一个虚拟操作员身份,直接放行。
不需要正确的账号密码,只需要知道参数名。
攻击队利用这个漏洞,上传了恶意代码,成功提权,获得了服务器的完全控制权。随后上传了内网流量代理程序,开始在政务云内部横向渗透。
一个参数值,把整道门打开了。
代码里的每一行逻辑,都可能是攻击者的入口。
05 防守方做了什么
防守方其实并非毫无察觉。
政务云平台的流量探针设备在攻击发生的24小时内就发出了告警。防守方发现了一个境外IP正在对系统进行Python脚本扫描,目标端口是8182。
溯源分析发现,攻击者通过Swagger API文档页面获取了系统的全部接口信息——Swagger同样没有开启认证。
防守方的响应流程:
- 防火墙屏蔽攻击者IP
- 屏蔽Swagger接口,访问自动抛错
- 对API接口开启认证授权
- 粤政易通知项目/技术/运维负责人
- 按应急预案上报
1天内完成处置。
但防守方只发现了Swagger这一个问题。攻击队通过另外三条路径,全都成功了。
防守方的监控系统覆盖了网络层,但应用层的Actuator端点、前端代码中的硬编码密码,都处于监控盲区。
你监控不到的,就是攻击者最喜欢的。
06 整改:从发现问题到彻底修复
攻防演练结束后,防守方进行了全面复盘,发现了比攻击队报告更多的漏洞:
| 漏洞 | 系统 | 发现方 | 整改方案 |
|---|---|---|---|
| Actuator未授权→heapdump泄露 | 智慧管理系统 | 攻击队 | 阻断外部访问,更新全部泄露密码 |
| 后台未授权+前端硬编码 | 中控平台 | 攻击队 | 增加授权访问,SHA-256替代MD5 |
| Interlib认证绕过+文件上传 | 图书馆集群系统 | 防守方复盘发现 | 增加随机数+加密字符验证,修复注入点 |
有趣的是,第三个漏洞是防守方在复盘时自己发现的,攻击队并没有报告它。
但整改的代价是高昂的。系统在2022年11月已经申请了延期6个月,原因之一就是”三个测评(等保、第三方软件、密码)流程复杂,整改和复评多次进行”。
攻防演练暴露的漏洞,又让整改周期进一步拉长。
从2023年5月攻防演练发现问题,到2023年12月系统最终通过综合验收,中间整整隔了7个月。
一个安全配置错误,可能让整个项目延期半年以上。
07 三个教训
回顾这场攻防演练,有三件事值得每一个做政务系统的人记住:
第一,试运行正常不等于安全达标。
181天的试运行日志全部正常,但攻防演练2天就被打穿。功能测试验证的是”能不能用”,安全测试检验的是”扛不扛打”。两者覆盖的是完全不同的维度。
第二,安全问题的根因往往是最基础的配置错误。
Actuator没配认证、前端写了密码、登录参数绕过了校验——没有一个是高级攻击技术,全都是基础安全配置。政务系统的安全短板,往往不在技术深度,而在执行细节。
第三,安全整改的代价远超预防。
一个Actuator端点的配置错误,导致数据库密码泄露、系统被控制、项目延期7个月、整改成本数万元。如果在上线前花10分钟检查一下配置文件,这一切都不会发生。
攻防演练的意义,不是证明谁更强,而是让所有人看到:安全不是成本,而是基础设施。
本文案例来源于中山市”香山网盾—2023″网络安全攻防演练的真实记录。人员姓名、IP地址、具体账号密码等敏感信息已做脱敏处理。
铁三角团队 · 峰哥 | write | tech
共同成长 💪

峰网博客