对某协会临时做题平台的分析尝试记录

写在前面

仅供学习与研究，切莫违反社区共识进行攻击行为。

分析

前端

通过控制台，可以获取到到网站采用的是 GZTimeWalker 的 GZCCTF 项目的 v0.15.4 版本。虽然网站未更新至最新发布的该项目在近日发布 v0.15.5，但是新发布的版本仅修复了一些小 Bug ，且目前并未有大型安全修复，故前端方面尚属安全。

后端

在阅读完 GZCCTF 部署文档后，得知该项目部署方式为 k8s 与 Docker 的混合方式，通过对 docker-compose.yml 的分析，可以得出该项目部署所拉取的 Docker 镜像为 gztime/gzctf，选取 latest tag 进行分析，发现该镜像基于 Debian 系进行打包，采用 ASPNET 与 .NET 7.0.9 作为反向代理，该版本 .NET 为近期发布，且 Docker 逃逸难度极高，故后端防御尚属安全。

端口与系统

测试后可知，服务器仅开放 80 与 22 端口，其中 22 端口用于 SSH 服务，采用的是 OpenSSH 8.2p1 服务端，而 80 端口的反向代理使用的是 Microsoft Kestrel 与 ASPNET。通过 TTL 等数据包收发细节分析猜测服务器系统为 Ubuntu 20.04。

对影响到 OpenSSH 8.2p1 的 CVE 进行分析，两枚集中于拥有 SSH 访问或文件写入权限后提权或进行代码注入（CVE-2020-12062，CVE-2020-15778），四枚集中于服务端开启 SSH 代理隧道或不常用配置（CVE-2021-28041，CVE-2021-36368，CVE-2021-41617，CVE-2023-28531），均无法在未取得 SSH 普通用户访问权限的前提下进行，但仍推荐尽快将 SSH 进行更新。

IP 部分

经查询可知，ip 归属地为 HK，风险等级较低，预计可能是机房托管或较原生的 ISP 提供商，但也不排除内网映射的可能性。由于未绑定域名，采取公开 IP 与 HTTP 1.1 明文。由于某些地区存在的特殊情况，存在通过大量敏感词组来触发关键封锁机制的可能性，这将导致服务器在某些地区无法通过 ip 直接访问。

结论与建议

目前安全状况尚属良好，但仍有隐患。

建议升级 OpenSSH 以防范旧版本未来可能被挖掘的漏洞，并可采取措施限制 SSH 的访问，例如限制指定 IP ，或采用虚拟局域网方案。

及时保持与上游存储库同步，定期检查防止逃逸。

建议绑定域名，并采用 Nginx 等进行反向代理 Docker 或 K8S 端口，并套用 CDN 隐藏服务器真实 IP，亦可尽量缓解 DDos。采取 HTTPS 加密以防中间人攻击与数据监听。