从CORS测试看安全评估的边界意识
TOPIC SOURCE
授权渗透测试跨域资源共享(CORS)配置核验教程:从反射来源到凭证泄露验证
看到接口返回了宽松的 CORS 配置,测试人员要不要继续往下试?这道选择题,比“会不会测”更能看出安全评估的专业程度。CORS,也就是跨域资源共享,涉及浏览器是否允许一个来源的页面读取另一个来源的响应。但发现配置可疑,不等于已经证明敏感数据能被读取,更不等于获得了继续深入的许可。
授权不是一张通行证
拿到书面授权,也得看清授权覆盖哪些域名、路径和接口。好比请人检查家里的门锁,不代表连邻居家的门也能顺手试试。关联子域、第三方服务,即使出现在同一条业务链上,也不能自动算进测试范围。
边界还包括怎么测、测到哪里停。专用低权限账号、只读验证和事先约定的停止条件,不是走形式,而是防止一次配置核验变成数据修改或账号锁定。尤其不能把“只读取”理解为“没有风险”:读取到不该接触的信息,本身就可能越界。
证据够用,就该收手
CORS 测试容易出现一种冲动:看到来源被反射,就急着给漏洞定级;能够读到数据,又想多读一些证明影响。前者跳过了浏览器实际行为、凭证条件和数据性质,后者则可能扩大不必要的接触范围。
更稳妥的判断,是区分三个层次:配置看起来异常,受控条件下能够跨域读取,以及读取内容确实具有业务敏感性。公开数据可读与用户个人信息可读,不能混为一谈;浏览器拦截了一次请求,也不能据此断言整个系统安全。
证明应围绕测试账号和约定接口展开。已有证据能够支撑判断,就没必要靠接触更多真实用户的数据来增加报告的“分量”。
安全评估最终交付的,不该只是一个吓人的漏洞名称,而应是范围清楚、条件明确、证据可追溯的判断。整改后,既要确认不可信来源无法读取,也要检查合法业务仍能正常使用。知道什么时候继续验证,也知道什么时候停止,才是在替业务守边界。

参与讨论
这个边界意识确实很重要,很多测试容易一上头就收不住