跨域漏洞
2019年,跨域漏洞一个叫“数据海啸”的跨域漏洞漏洞报告让整个安全圈炸了锅。攻击者不需要密码,跨域漏洞只需要诱导用户访问一个恶意页面,跨域漏洞就能悄无声息地读取他邮箱里的跨域漏洞所有信件——用的是浏览器自己的“合法”权限。 这玩意儿叫跨域漏洞,跨域漏洞全称是跨域漏洞“跨域资源共享策略绕过”。听着绕口,跨域漏洞说白了就是跨域漏洞:浏览器本来该把不同网站的数据隔离开,像银行金库和便利店之间那堵墙。跨域漏洞但某些情况下,跨域漏洞这堵墙能被凿穿。跨域漏洞你登录着网银,跨域漏洞又点开了个钓鱼网站,跨域漏洞钓鱼网站就能隔着墙摸走你的跨域漏洞余额信息。 浏览器的安全模型叫“同源策略”,规定只有协议、域名、端口全一样,才能互相访问数据。这设计初衷挺美好——A网站不能偷B网站的cookie。可现实是,开发者们嫌这规矩太死板,搞出了JSONP、CORS这些“后门”。 CORS本来是个可控的开放机制,服务器主动声明“我允许某某域名来读我数据”。问题出在配置上——很多程序员图省事,直接写个 还有个更阴的变种叫“JSONP劫持”。JSONP是上古时期解决跨域的手段,通过 我最烦的是那种“反正我们站没敏感数据”的论调。2018年某电商平台被曝出跨域漏洞,攻击者能改用户收货地址——你觉得地址不敏感?等快递被人冒领就晚了。还有个案例是某招聘网站,攻击者能通过跨域请求给受害者投递虚假offer,配合钓鱼邮件,一套组合拳下来,受害者银行卡都被掏空。 修复这类漏洞其实不复杂。CORS配置白名单,别用通配符;JSONP接口加个随机token验证请求来源;最关键的,所有跨域请求都要校验 这事的本质还是懒。浏览器给了你锁,你偏不锁门,还嫌锁碍事。跨域漏洞不是技术难题,是态度问题——你永远无法让一个觉得自己不会被偷的人主动装防盗门。Access-Control-Allow-Origin: *,等于把金库钥匙复制了上万把扔大街上。更蠢的是,有些人连credentials都带上,cookie也跟着飞过去。攻击者随便搭个恶意站点,发个带凭证的请求,数据就自己送上门了。<script>标签加载外部资源,因为script标签不受同源策略限制。问题在于,如果目标站点没做防护,攻击者可以构建一个恶意页面,动态加载你的个人信息接口,然后回调函数把数据泄露出去。百度、淘宝都栽过这跟头。Origin头。可现实是,很多公司代码仓库里躺着几百个接口,没人敢动,因为改了怕影响业务。于是漏洞就那么晾着,像没系鞋带的鞋,不绊倒人只是时间问题。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-