文章总结: 作者测试门户时,因暂停致会话过期,意外加载了他人敏感信息及银行账户数据。复现表明ASP.NET应用存在会话或缓存缺陷导致数据泄露。该漏洞获P2评级及600美元赏金,建议关注会话过期后的数据隔离测试。 综合评分: 60 文章分类: 漏洞分析,SRC活动,WEB安全,数据泄露,实战经验
0115.意外泄露高危 ASP.NET 漏洞:一次咖啡休息如何导致他人个人身份信息泄露(以及 600 美元赏金)
toast
Rsec
2026年1月11日 22:13 贵州
本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。
声明:本文搬运自互联网,如你是原作者,请联系我们!
类型:奇怪的漏洞
在填写一份冗长的供应商注册表单时,我在一个私有目标服务器上闲置了大约 25 分钟。当我回来点击“下一步”时,页面加载了另一个用户的完整注册信息,包括公司个人身份信息 (PII)、银行账户、SWIFT 代码和 IBAN。重新加载页面后,所有信息都消失了。
我重现了两次这个问题,发现它发生在会话过期之后。根本原因很可能是 ASP.NET 4.0.30319 应用程序中的会话或缓存缺陷。团队将此报告标记为 P2 级别,并奖励了 600 美元。
准备工作
我当时正在测试一个大型供应商注册门户网站,需要填写无数表格。填写了一些信息后,我感到很沮丧,于是决定休息一下。
我让笔记本电脑停留在注册页面大约25到30分钟,同时用手机玩了一会儿游戏。
返回后,我点击 “下一步” 按钮继续上次中断的地方。
令我惊讶的是,页面加载后显示的却是完全不同的预填信息。其中包含另一家公司的注册数据,包括:
- 公司详情
- 财务详情
- 所有者详情
- 银行账号
- SWIFT 和 IBAN 代码
那一刻感觉很不真实。我刷新了页面,页面恢复了正常,又一片空白。
重现问题
起初,我以为这只是偶然现象。但我仔细地重走了一遍步骤,看看能否再次重现这种情况。
- 登录并开始供应商注册流程。
- 请填写表格的一部分。
- 让浏览器闲置约 25 至 30 分钟。
- 返回并单击 “下一步” 按钮。
- 观察其他用户的预填个人身份信息。
我在相同条件下重复了两次,问题始终存在。问题似乎在会话结束后立即触发,我测量会话时间约为 20 分钟。
可能的根本原因
我无法确认具体问题所在,但症状指向以下问题之一:
- 不安全的会话管理会重复使用或错误路由已过期的会话。
- 服务器端缓存问题,导致缓存的注册数据被提供给了错误的用户。
- 不正确的缓存控制标头允许共享或过期的内容在超时后出现。
- 会话清理逻辑中存在状态泄漏, 其中用户状态对象未正确清除。
- 共享视图状态或临时存储使用不当,导致会话间数据重叠。
考虑到 ASP.NET 版本较旧以及时间模式,最可能的原因是服务器上的缓存或会话混淆。
最后想说的话
漏洞赏金猎取并非总是关乎复杂的漏洞利用或深入的技术分析。有时,它需要关注一些细微的、意想不到的行为。这个漏洞就是一个完美的例子。
如果你正在测试 ASP.NET 应用程序,不妨尝试暂时离开一会儿,让会话过期,然后再回来看看会发生什么。你可能会发现一些意想不到的情况。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Rsec toast《0115.意外泄露高危 ASP.NET 漏洞:一次咖啡休息如何导致他人个人身份信息泄露(以及 600 美元赏金)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论