Seanfrvr/gcp-web-security-scanner

GitHub: Seanfrvr/gcp-web-security-scanner

一个在 GCP 上部署含漏洞 Flask 应用、使用 Google Cloud Web Security Scanner 检测并修复 XSS 漏洞的端到端云安全实践项目。

Stars: 0 | Forks: 0

# GCP Web Security Scanner — 漏洞评估实践 ## 目标 在 Google Cloud Platform 上部署一个存在漏洞的 Flask Web 应用程序,使用 Google Cloud 的 Web Security Scanner 检测跨站脚本攻击(XSS)漏洞,然后通过在应用程序的源代码中对用户输入进行清理(sanitizing)来手动修复它。 ## 基础设施设置 完全通过 `gcloud` CLI 部署目标 VM 并配置网络: ``` gcloud compute instances create xss-test-vm-instance --address=xss-test-ip-address \ --no-service-account --no-scopes --machine-type=e2-micro --zone=us-east4-a \ --metadata-startup-script='apt-get update; apt-get install -y python3-flask' gcloud compute firewall-rules create enable-wss-scan \ --direction=INGRESS --priority=1000 \ --network=default --action=ALLOW \ --rules=tcp:8080 --source-ranges=0.0.0.0/0 ``` 这启动了一个带有静态外部 IP 的 e2-micro 实例,并为演示应用程序开放了 8080 端口。 ## 漏洞 部署的应用程序——一个演示用的“Cymbal Bank”企业银行门户——存在一个易受 XSS 攻击的输入字段。提交类似以下的 payload: 证实了输入在被反射回页面之前没有进行清理。 ## 攻击与分析 - 对在线运行的应用程序运行 Google Cloud 的 **Web Security Scanner**,以自动 fuzz endpoint 并模拟 XSS 注入 - 在扫描期间监控实时服务器访问日志,观察到 GET/POST 请求访问了 `/output`、`/.git/config`、`/.svn/wc.db` 以及其他被探测的路径 - 通过 SSH 登录到实例,并直接在 `nano` 中检查 Flask 后端(`app.py`),以了解用户输入是如何被处理的 ## 修复 发现该应用程序缺乏输入清理。在 Flask 后端添加了一个 HTML 转义表,以便在渲染用户输入之前中和特殊字符: ``` html_escape_table = { "&": "&", '"': """, "'": "'", ">": ">", "<": "<", } ``` ## 验证 在修复之后重新运行了 Web Security Scanner 的跨站脚本攻击扫描——后续扫描报告**未发现漏洞**,证实了修复是有效的。 ## 展现的技能 - 通过 CLI 部署云基础设施(Compute Engine、防火墙规则、静态 IP) - 漏洞扫描和 Web 应用程序安全评估 - 在主动扫描期间进行实时日志分析 - 安全代码修复(输入清理/输出编码) - 验证测试以确认修复有效 ## 截图 **通过 CLI 部署的基础设施** ![设置](https://static.pigsec.cn/wp-content/uploads/repos/cas/e0/e08b58d9edd379005b06d0dda1eea7c40e54732f4b5ce4d1bbaac937e8f2b896.png) **在线应用程序上易受攻击的输入字段** ![漏洞](https://static.pigsec.cn/wp-content/uploads/repos/cas/cf/cf7d6d01934362c1c40dbd473a2ad02e4fa10ab34f1fbab5394d41ae205750b6.png) **在 nano 中检查后端代码** ![代码分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/68/68ba75200ee0ef9be589aebe0c5aea65a5ec678555b8ee5a447e1f60b643ab26.png) **在扫描期间监控实时流量日志** ![实时扫描日志](https://static.pigsec.cn/wp-content/uploads/repos/cas/19/19e68693f3c4bac86d9889fd1e3a7422cb9c0812ab718ada265db5fb504d97f4.png) **验证扫描 —— 修复后未发现漏洞** ![验证](https://static.pigsec.cn/wp-content/uploads/repos/cas/4d/4d349979f7b257793dc081025d241cdeea2fc8815e2a5e7fd947a9b8b7f38acb.png)
标签:CISA项目, Flask, GCP, Web安全, XSS, 漏洞修复, 漏洞情报, 网络安全培训, 蓝队分析, 逆向工具