html安全检查需关注注释与标签中的调试信息、元数据泄露、js硬编码凭证、css隐藏敏感内容及source map暴露风险,每项均需针对性扫描与防护。

检查HTML源码里的注释和标签
浏览器右键“查看网页源代码”后,<!-- 和 <meta 是最常藏雷的地方。开发时随手写的调试注释,比如 <!-- DEBUG: SELECT * FROM users WHERE id=123 --> 或 <!-- API_KEY=sk_live_abc123 -->,上线没清理就会直接暴露。
重点搜这些关键词:DEBUG、TODO、FIXME、password、secret、key、token、internal、10.0.(内网IP段)。
元数据里尤其注意:<meta name="author" content="dev@company.com"> 这类信息虽不致命,但配合社工可扩大攻击面;<meta http-equiv="X-UA-Compatible" content="IE=edge"> 等老旧声明也可能暗示技术栈陈旧。
抓取并扫描所有外部JS文件中的硬编码凭证
页面里 <script src="/static/js/main.a1b2c3.js"></script> 这类链接,往往藏着更危险的内容。用 wget -r -l1 -A.js https://example.com/ 下载全部 JS,再用正则批量扫:
/apikey\s*[:=]\s*["']([^"']+)["']/gi/access_key\s*[:=]\s*["']([^"']+)["']/gi/-----BEGIN (RSA|EC) PRIVATE KEY-----/i
注意:现代打包工具(如 Webpack)可能把密钥拼进字符串常量里,比如 const URL = BASE + "/api/" + TOKEN,这种不能靠简单关键字匹配,得结合 AST 分析或人工确认上下文。
识别被CSS或字体“隐藏”的敏感内容
不是所有敏感信息都明晃晃写在 HTML 里。有些站点用 CSS 把文字颜色设成跟背景一致,或者用 font-size: 0、visibility: hidden、text-indent: -9999px 隐藏关键字段——比如价格、跳转地址、测试账号。
操作建议:
- 在开发者工具的
Elements面板里,选中可疑节点,右侧Computed标签页看最终渲染样式 - 禁用所有 CSS(
Ctrl+Shift+P→ 输入Disable styles),看是否突然“浮出”异常文本 - 检查是否存在零宽字符(
\u200b、\u2060)或 Unicode 混淆字符,它们可能藏在变量名或字符串里绕过常规扫描
验证 source map 文件是否意外暴露
如果页面加载了 main.js.map 或 vendor.js.map,就等于把原始 TypeScript/React/Vue 源码结构、路径、变量命名逻辑全交到攻击者手上。打开浏览器 Network 面板,过滤 .map,点开响应体看是否含 sources 字段及真实路径(如 src/components/PaymentForm.tsx)。
真正该做的不是删掉 .map,而是确保它不随生产部署发布:
- Webpack:设置
devtool: false或devtool: 'source-map'但配合 Nginx 拦截*.map请求 - Vite:默认不生成,但若手动开启
build.sourcemap = true,需在构建后脚本中rm -f dist/**/*.map - CI/CD 流程里加检查项:
grep -r "\.map" dist/ && exit 1
哪怕只漏一个 app.min.js.map,就可能让整个前端逻辑被逆向还原——这不是理论风险,是真实发生过的入侵链起点。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











