记一次安全测试实战——某企业级AI平台:203个API接口的渗透实录

admin 2026-08-23 04:52:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档记录了对某企业级AI平台的安全测试实战,通过JS逆向发现203个API接口和18个微服务。测试揭示了严重的安全漏洞:全站912处接口零认证,JWT存在None算法伪造和公钥暴露问题,可任意身份伪造和账号接管。还发现了SSTI模板注入等漏洞。两轮测试共发现3913项问题,高危以上占2296项。建议进行网关统一鉴权、API资产测绘和常态化安全扫描。 综合评分: 90 文章分类: 渗透测试,实战经验,WEB安全,红队,漏洞分析


cover_image

记一次安全测试实战——某企业级AI平台:203个API接口的渗透实录

明焰安全

2026年7月31日 17:06 浙江

在小说阅读器读本章

去阅读

记一次安全测试实战

某企业级AI平台:

203个API接口的渗透实录

前阵子接了一个授权目标:某企业级AI服务平台。官网、AI对话、Token计费、企业管理,该有的都有。前后端分离,前端Nuxt.js,后端统一走API网关。整体看下来是个典型的云原生微服务架构,攻击面应该不小,但没想到的是——打开的方式比预想中容易得多。

目标侦察:攻击面远比想象中大

第一步先把攻击面摸清楚。官网页面是公开的,但真正的料都藏在JS里。Nuxt构建产物会按需加载一堆chunk,把这些全拉下来,接口基本就全暴露了:

挖出来的东西比预想的多。除了主站,还翻出一个独立部署的微前端子应用——AI对话、技能广场、Token订阅这些核心业务全在上面。再从构建产物里还原出18个后端微服务的命名空间:chatbot-server、token-plan-server、user-server、enterprise-server、super-chat-server……一路排下来,203个接口、18个微服务,攻击面直接摊开在眼前。

攻击面分布:203个接口/18个微服务份

认证体系:三道关卡全开

先拿最普通的接口试水,不带任何Token直接打:

1、无Token直通

去掉请求头里的Token字段,接口照常返回业务数据;填null、填undefined、填任意字符串,统统通过。全站912处接口零认证。门店接口甚至直接吐出了1864条全量数据。这扇门不是没锁,是压根没装。

2、JWT None算法伪造

既然认证形同虚设,那伪造一个身份试试。系统用JWT做鉴权,验签时没锁算法——构造一个alg=none的无签名Token,直接过了:

3、JWKS公钥暴露 + 算法混淆

更离谱的是,Token用的RS512非对称签名,但JWKS公钥端点居然裸奔着——拿到公钥就能把算法从RS512降级成HS512,拿公钥当HMAC密钥签发任意身份的Token。伪造身份这条路彻底打通,想冒充谁就冒充谁。

身份接管:授权码与Token的双重失守

平台接的是厂商统一登录(Passport),授权码获取和兑换两个接口都没做凭证校验:先取授权码,再换登录Token,一个普通访客就能登进任意账号。

拿到Token之后还能无限续期——刷新接口无设备绑定、无二次验证,会话理论上永不失效。到这里整条链已经闭环:公开接口进得来,身份随便伪造,账号随便接管。后面的注入和数据问题,都是在这条链上顺手的事。

完整攻击链:公开接口→伪造身份→任意账号接管→核心数据

注入与数据:顺手的事

平台接的是厂商统一登录(Passport),授权码获取和兑换两个接口都没做凭证校验:先取授权码,再换登录Token,一个普通访客就能登进任意账号。

拿到Token之后还能无限续期——刷新接口无设备绑定、无二次验证,会话理论上永不失效。到这里整条链已经闭环:公开接口进得来,身份随便伪造,账号随便接管。后面的注入和数据问题,都是在这条链上顺手的事。

1、SSTI模板注入(已实测)

日志埋点接口log-server/access,8个参数对模板表达式直接求值——传个#{7*7}返回49,${7*7}、*{7*7}、{{7*7}}四种语法全生效。要是这些日志后面进了管理后台或者任何模板渲染链路,就是存储型攻击甚至RCE。

2、业务与数据层问题

逻辑层和数据层也是一堆事,重点罗列如下:

数据总览:两轮测试的账

盘一下整个测试:97个页面、203个接口、18个微服务,两轮下来总共3,913项发现,高危以上占2,296项。数字看着吓人,其实大部分是同一个认证问题在不同接口上的重复表现,去重后核心问题就那14类,上面基本都提到了。

两轮测试漏洞数量分布

主要漏洞类型分布TOP10

总结与思考

最让人意料不到的是,一个微服务这么多、攻击面这么大的企业级平台,安全水位还停留在“接口能通就行”的阶段。认证缺失导致所有边界形同虚设,从公网任何一个公开接口,一路能走到用户核心数据。

复盘下来有三个动作很关键:一是JS逆向要把chunk下载全,微前端子应用和一堆影子接口全藏在按需加载的代码里;二是漏洞验证必须有真实返回撑腰,光看响应时间这种旁路信号,容易自己骗自己;三是同类问题得按攻击面一个个过,修了A接口漏了B接口的情况太常见了。

对这家平台来说,网关层统一鉴权、API资产测绘、常态化自动扫描,再加上“发现—修复—重测”的闭环,是现在最该干的三件事。

防御方最怕的从来不是攻击者多高明,而是自己连攻击面有多大都不知道。

END

扫码关注

客服电话:400-0123-326

商务邮箱:marketing

@magic-shield.com


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:明焰安全 《记一次安全测试实战——某企业级AI平台:203个API接口的渗透实录》

评论:0   参与:  0