挖洞捡漏:仅凭Burp Suite配置失误,1500美元顺走AI系统提示词

导语:挖漏洞,有时候靠的不是技术有多深,而是习惯有多好。安全研究员tinopreter近日分享了一个”躺赚”案例:他在测试AI聊天机器人的Blind XSS时,意外因为Burp Suite的一个配置习惯,发现了第三方域名暴露全部AI系统提示词和员工邮箱列表的漏洞,轻松拿到1500美元赏金。这篇文章告诉我们——有时候,漏掉的不是洞,是视野。


一、背景故事

话说在前头:这次发现,技术含量真不高。

tinopreter本人在文章里也坦白——”我没有黑任何东西,我只是看了一眼。”但就是这么一眼,让他拿到了1500美元。

事情从他之前的工作说起:他在测试某个AI聊天框的Blind XSS漏洞时,过程中意外注意到自己的HTTP历史记录里有一条发往第三方域名的请求。顺着这条线索,他发现了某企业AI聊天系统的系统提示词和员工邮箱大规模泄露。

整个过程,源于Burp Suite的一个常见配置习惯。


二、Burp Suite的盲区

2.1 常见的配置方式

拿到测试目标后,大多数人的第一步是去Burp Suite的Target标签页,过滤掉无关域名的噪声。

在Scope页面,勾选”Use advanced scope control”,把目标域名粘贴到Host or IP range字段,点OK。

此时会弹出一个提示:”Some items are out of scope. Stop showing them in the HTTP history?”(有些请求不在范围内,是否停止在HTTP历史中显示?)

如果你和大多数人一样——本能地点了“No”

为什么?因为担心错过那些”藏在噪声里的宝藏”:某个被忽略的端点、某个配置错误的服务、值得跟进的蛛丝马迹。

但说实话:这些不在范围内的域名,从来就没被真正检查过,只是安静地躺在历史记录里吃灰,直到某天被清空。

Burp Suite Target标签页
Scope页面配置

然后进入HTTP History,过滤设置里勾选”Show only in-scope items”,之后用一个快捷键切换这个过滤器的开和关。

确认Scope范围
Toggle过滤开关

这种配置本身没有问题,但存在一个盲区:发往第三方域名的请求会被过滤掉,而这些第三方域名里往往藏着有意思的东西。


三、漏洞发现过程

3.1 意外的”丢失请求”

故事是这样的:tinopreter在测试AI聊天框的Blind XSS时,整个HTTP历史里只有***.target.com的请求。他偶尔瞄一眼WebSocket历史,但也没发现异常。

然后某一天,他不小心漏看了一条请求。在过滤视图里找不到,就随手把过滤器关掉,让所有噪声都显示出来。

就在这时,他看到一条发往第三方域名的API请求,响应是JSON格式,但MIME类型是SSE(Server-Sent Events)

第三方域名LaunchDarkly泄露

这个请求的端点URL非常奇怪,任何模糊测试工具都不会命中它——因为没有哪个字典里会有这种东西。URL看起来像一个MD5哈希,后面跟着一段看起来像残缺的JWT的东西,格式大致是:/eval/5d43bjskk3si2898sbjh33/eyJksgrlEilenslrUwNebs3iW9…

还有一个细节:所有请求URL都以/eval/开头,有时是/sdk/evalx/。响应总是以event:put开头。

SSE响应格式

3.2 系统提示词大礼包

继续往下翻响应内容,他发现了四套不同的系统提示词:

  • 一个属于AI聊天框本身
  • 一个属于内部AI招聘审查员
  • 两个属于评估员工档案的AI智能体

此外,响应中还包含一份完整的内部员工邮箱地址列表和URL。

系统提示词泄露

他迅速提交了报告,项目方确认这些内容确实不应该公开。


四、漏洞分析与防御建议

4.1 为什么第三方域名会暴露提示词?

AI系统的系统提示词(System Prompt)通常存储在第三方特性标志服务(如LaunchDarkly)中,并通过客户端请求拉取。如果这些服务的访问控制配置不当,任何人都可以直接访问到包含提示词的响应。

此外,部分AI平台使用SDK连接第三方服务时,会将系统提示词作为配置参数传递,如果第三方域名没有做好认证和访问控制,就会成为信息泄露的出口。

4.2 监控与修复建议

  1. AI SDK域名纳入测试范围:在进行AI应用安全测试时,务必将第三方域名(如***.launchdarkly.com)加入Burp Suite的Scope,并定期检查其请求
  2. 定期关闭过滤器检查噪声:养成定期关闭Scope过滤器、检查所有HTTP历史记录的习惯,尤其是测试WebSocket通信时
  3. 特性标志服务访问控制:确保LaunchDarkly等第三方服务的特性标志读取需要有效认证,不要将敏感提示词以匿名方式暴露
  4. 日志监控:对特性标志服务的异常访问日志进行监控,检测非预期的系统提示词读取行为

五、经验总结

项目团队对tinopreter能发现这个问题感到意外——说实话,他自己也没想到。

系统提示词和内部员工邮箱的泄露,被项目方认定为高危漏洞,最终给出了1500美元的赏金。

赏金通知
到账1500美元

事后,tinopreter在另外两个项目中又发现了完全相同类型的AI系统提示词泄露。所以,这可能不全是运气,而是一个值得关注的模式。

关键教训:

  • 测试AI系统时,记得把第三方域名(如***.launchdarkly.com)纳入Scope
  • 定期关闭过滤器检查噪声——那些”out-of-scope”的域名和WebSocket历史记录里可能藏着宝藏
  • 在完成测试前,让HTTP历史记录保持原始状态,不要急着过滤

出处:本文翻译自Medium用户@tinopreter的文章《$1,500 Email Verification Bypass》同作者相关漏洞挖掘分享,原文链接:https://medium.com/@tinopreter

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容