应检查script标签、data-属性、注释块和未压缩js中的硬编码api地址、密钥及测试凭证,重点搜索https?://、api.、/v[0-9].?、token=、key=、secret=等模式,并警惕base标签影响下的相对路径、data-config类泛化属性及未压缩js中的process.env变量。

直接看源码里有没有硬编码的 API 地址、密钥、测试环境凭证,尤其是 script 标签内、data- 属性、注释块和未压缩的 JS 文件中——这些地方最容易藏匿敏感接口信息。
检查 script 标签内的硬编码 URL 和 token
前端 JS 经常把接口地址写死在 <script></script> 块里,比如调用管理后台或调试接口时漏删。常见模式是 fetch("https://admin-api.example.com/v1/users") 或 axios.create({baseURL: "http://test-api.internal/"})。
- 重点搜
https?:\/\/、api\.、\/v[0-9]\.?这类正则关键词 - 注意相对路径转绝对路径后的实际域名,比如
fetch("/api/auth/login")配合页面<base href="https://staging.example.com/">就暴露了测试域 - 带
token=、key=、secret=的 query 参数极大概率是泄露,哪怕看起来像占位符(如key=abcd1234-dev)
翻找 data- 属性和隐藏表单字段
有些前端会把临时凭证塞进 DOM 元素的自定义属性里,比如 <div data-api-key="sk_test_abc123"> 或 <code><input type="hidden" name="csrf_token" value="aBcDeFgHiJkLmNoPqRsTuVwXyZ">,这类值常被当成“前端用不到就没事”而忽略清理。
- 用浏览器 DevTools 的 Elements 面板按
data-过滤,再逐个点开看值 - 特别留意
data-config、data-options、data-env这类泛化命名,里面可能 JSON 化嵌套了完整配置 -
input[type=hidden]不代表安全,只要没做服务端校验,它就是可篡改+可读的
别跳过 HTML 注释和未压缩 JS 源码
开发阶段留下的注释,比如 <!-- DEBUG: use https://dev-api.example.com for local testing -->,或者未上线的备用接口地址,往往比正式代码更松懈。JS 文件若未压缩,还能直接看到 const BACKEND_URL = "http://192.168.1.100:8080" 这种本地调试地址。
- 用 Ctrl+U 查看完整源码后,搜索











