首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >国泰君安基于主动攻击视角的API资产梳理与漏洞挖掘实践

国泰君安基于主动攻击视角的API资产梳理与漏洞挖掘实践

原创
作者头像
IT资讯研究所
发布2026-05-30 08:43:43
发布2026-05-30 08:43:43
930
举报

应对API攻击面扩张与数据泄露风险

依据中华人民共和国金融行业标准《金融数据安全数据安全分级指南》,数据安全需覆盖从硬件物理安全到软件逻辑安全的全生命周期。在应用层,API接口已成为数据泄露的主要缺口,统计分析显示,大量数据泄露事件与API安全漏洞直接相关。同时,供应链攻击频发,大量Oday漏洞被利用。无论是第三方采购系统还是自研系统,攻击根源通常都与API安全问题紧密相关。

典型泄露案例数据:

  • 国内: 2020年某社交平台API被非法调用,导致约 3.5亿 用户数据泄露;2021年某电商平台API遭攻击,导致超过 11.8亿 用户敏感信息泄露。
  • 国外: 2018年美国邮政局API漏洞影响 6000万 用户;Facebook同年因漏洞导致最高 5000万 账号被控制及 2900万 用户资料被窃;2021年LinkedIn因API漏洞导致 7亿 用户数据被获取。

实施主动探测与智能分析技术

国泰君安采用攻击面管理(ASM)思路,从攻击者视角出发,构建了一套基于流量与代码分析的API安全实践方案,涵盖从资产发现到漏洞验证的全流程。

1. 资产自动发现(JS文件与Base URL提取)

  • JS文件匹配: 通过访问首页及静态地址,自动提取当前域与CDN域下的JS文件(如 login.js, vue.runtime.global.prod.js, wpk.js 等)。
  • Webpack解析: 深入解析前端打包文件,提取未自动加载的JS模块。
  • Base URL发现: 从自动加载的URL及API接口响应中智能提取Base URL,构建资产图谱。

2. 接口与参数智能提取

  • 正则提取: 利用正则表达式从JS代码和响应包中全量提取API接口路径。
  • 参数识别:
    • 从响应包JSON的Key中提取参数(如 id, branchCollegeName)。
    • 识别特定字段(如 paramparameter),将其Value作为后续请求参数。
    • 利用报错信息(如 Required List parameter 'types' is not present)反向提取缺失参数。
    • 内置常见API路径字典(如 add, login, query, upload 等)及中英错误正则库(如 不能为空, parameter ... is required)。

3. 多维度探测与Fuzz

  • 无参请求: 使用 GETPOST_DATA(form-urlencoded)、POST_JSON 三种方式对所有接口进行初探。
  • 有参请求: 构建查询字符串,使用上述三种方式携带参数进行深度遍历。
  • 结果记录: 将结果存入 jsapi_all_api_url_xml_json_res 表,记录 url, method, parameter, code, length, res_type 等字段。

4. 智能化漏洞检测与过滤

  • 响应包差异化分析: 通过 jsapi_diff_response 表对 content_hash 进行去重,快速过滤无效数据(如大量返回的91字节或98字节报错),聚焦有价值响应(如37182字节或19974字节的有效数据)。
  • 敏感信息扫描:
    • HAE规则检测: 识别 Internal IP Address(如 127.0.0.1)、JDBC Connection(如 jdbc:mysql://...)、Password FieldDebug Logic Parameters 等。
    • WIH规则检测: 匹配 Aliyun_AK_IDprivate_keyGCP_AK_IDQCloud_AK_ID 等高危凭据。
  • Bypass技术: 利用路径混淆(如 /webjars:/./n/kvision/...)尝试绕过访问控制。

验证业务风险与漏洞危害

通过主动探测与Fuzz,团队在实际业务中发现并验证了多种高危漏洞,量化了安全风险。

1. 未授权访问漏洞

  • 案例: 某工作流接口 /api/workflow/instance/startApplyInstance 在仅提供 workNo 参数时,返回 {"success":false,"message":"已开通,无需重复申请","data":{"id":7775,...}},证明未授权状态下可查询到具体业务数据。
  • 现状: 探测发现大量 task-api 接口(如 /add, /upload, /system/info, /cmdb/v1/config)存在未授权访问风险。

2. 敏感信息泄露与越权

  • 登录接口: /prod-api/loginBySso 接口在仅传入 {"username": "admin"} 时,服务器返回 200 状态码及有效 Cookie(J3553IDND=...),疑似存在逻辑缺陷或默认凭证风险。
  • 配置泄露: 通过Bypass技术访问 /hikvision/getVideoByMomorint/Num.mvc,响应包中直接返回了 host (1433), appkey, secret, token 等敏感配置信息。

3. 远程代码执行(RCE)与文件操作

  • RCE风险: 发现 /dev_api_api_system_serverManage_pingServer 接口,报错信息提示缺少 ip 参数,此类服务器管理接口若未授权,极易导致RCE。
  • 文件上传: 识别到 /api/uploadHeadFile/api/uploadFile 等上传入口,存在恶意文件上传风险。

构建资产清单与响应分析

通过系统的梳理,将所有API资产、参数、响应状态及敏感信息检测结果存入数据库,实现了从“看不见”到“看得清”的转变。

数据记录示例:

  • 响应表 (jsapi_diff_response): 记录了 content_hash7a45d20169abe8eb817622 的响应长度为 37182 字节,属于高价值数据。
  • 敏感信息表 (jsapi_hae_api): 检测到 JDBC Connection 字符串包含 jdbc:mysql://localhost/authority?user=dbuser&password=dbpass
  • 凭据信息表 (jsapi_sensitive_api): 检测到 Aliyun_AK_ID (以 LTA 开头) 和 private_key (以 -----BEGIN PRIVATE KEY----- 开头)。

“通过主动探测技术,全面发现并梳理API接口,并智能分析出多层目录结构。深入扫描并解析应用中的JS文件,兼容Vue、Webpack等主流前端框架,借助强大的正则表达式精准提取API接口,全面发现影子API和僵尸API。” —— 翁伟刚,国泰君安证券股份有限公司数字供应链安全负责人

确立主动防御体系的价值

国泰君安的实践表明,传统被动防护(如WAF、RASP)结合DevSecOps(SAST、IAST)虽能抵御大部分已知攻击,但必须引入攻击视角的主动探测(ASM)才能应对新型威胁。

  • 全量资产覆盖: 解决了传统API网关和流量镜像难以发现的“影子API”和“僵尸API”问题。
  • 精准风险预警: 通过 响应包差异化分析敏感规则匹配,极大降低了误报率,运维人员可直接针对高危接口(如返回200的未授权接口、泄露密钥的接口)进行处置。
  • 技术栈适配: 方案高度适配当前主流前端技术栈(Vue, React, Webpack),能够穿透前端混淆与打包,还原真实的API调用逻辑。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应对API攻击面扩张与数据泄露风险
  • 实施主动探测与智能分析技术
  • 验证业务风险与漏洞危害
  • 构建资产清单与响应分析
  • 确立主动防御体系的价值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档