安全小黄鸭 22小时前
CORS跨域可能导致敏感信息泄露
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了CORS(跨域资源共享)可能引发的安全隐患。作者最初尝试通过`xhr.withCredentials`在跨域请求中读取`httponly` Cookie,但发现Cookie仍遵循同源策略。尽管如此,文章指出,不安全的CORS配置(如`Access-Control-Allow-Origin:*`)仍可能导致敏感信息泄露,例如利用CSRF(跨站请求伪造)攻击,让用户在不知情的情况下暴露个人信息,甚至可以通过子域名绕过某些安全限制。文章强调了正确配置CORS的重要性。

🔑 **CORS与Cookie的同源策略限制:** 作者尝试利用`xhr.withCredentials`在跨域请求中传递`httponly` Cookie,但实验结果表明,Cookie机制依然严格遵守同源策略,`httponly` Cookie无法直接通过这种方式在跨域请求中被获取,这与最初的设想不同。

🚫 **不安全的CORS配置风险:** 文章重点指出,当服务器配置`Access-Control-Allow-Origin:*`时,存在显著的安全隐患。这种配置允许任何来源的域访问服务器资源,可能被恶意利用于CSRF攻击,从而在用户不知情的情况下泄露敏感信息,例如个人偏好或身份信息。

🛡️ **绕过安全限制的可能:** 即便开发者尝试进行一定的安全限制,也可能存在绕过的方法。例如,通过在子域名(如`victim.com.hacker.com`)上发起请求,可能能够绕过原域名(`victim.com`)的部分安全检查,进一步增加了信息泄露的风险。

Fr1day 2018-02-08 18:33

Access-Control-Allow-Origin 可能会造成的敏感信息泄露

如果有一天我不再更新了 = = 肯定是因为公众号这个破编辑器太难用了

测试过程

看到安全客的一篇文章,讲 CORS 可能会造成的安全漏洞,提到可以通过 xhr.withCredentials 支持 跨域Cookie 的传递。


然后本鸭就想岔了,跨域请求、还能支持Cookie,那岂不是可以分分钟拿到 httponly 的 Cookie了??

写了个Demo做测试:




但是本鸭还是太年轻啊!!这个地方的 Cookie 仍然他喵的遵守同源策略啊!!

同源策略本来不就是这么规则的吗!!为什么!!为什么要加个没什么卵用的属性来伤本鸭的心!!

信息泄露

大老师说过:当上帝为你关上一扇门,总会再给你把窗户都钉死。


虽然XSS直接取Cookie的方法不通,但通过CSRF的思路读取敏感信息还是可以的。

比如,有些开发为了方便,会这样写(https://www.jianshu.com/p/552daaf2869c):


或者这样写:

header('Access-Control-Allow-Origin:*');


很明显都是存在安全隐患的,可以做到 “点我的链接,我就知道你二大爷的闺女的口红色号” 的效果。


当然可能存在稍微聪明点儿的开发,做了一些限制:


可以绕过:

victim.com.hacker.com

参考资料

JSONP与CORS漏洞挖掘 https://www.anquanke.com/post/id/97671

跨域资源共享 CORS 详解 http://www.ruanyifeng.com/blog/2016/04/cors.html



阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

CORS 跨域 安全漏洞 敏感信息泄露 CSRF 同源策略 Access-Control-Allow-Origin
相关文章