web漏洞挖掘指南
-
前端跨域漏洞
一、何为跨域
1.设想一种场景,一个恶意网站上嵌入了一个iframe标签去加载银行的登陆页面,高度和宽度的设置和真实的银行官网一样,当用户访问恶意网站并登录时,攻击者就可以利用恶意脚本通过XMLHttpRequest之类的dom操作窃取用户的银行卡数据,为了防止防御此类攻击,同源策略诞生了!
2.同源策略规定不同域的客户端脚本如果没有明确授权允许执行,不能读写另一方的资源。同协议,同端口,同主机名的两个URL才能被认为同源。
3.随着web应用前后端分离模式的流行,后端开发写完业务功能的代码后需要提供接口给前端用,而前后端域名往往是不一致的,这时请求就会被同源策略限制,为了更方便地共享这些的跨域资源,开发者们又设计出了CORS、jsonp等方式来完成跨域请求。
二、跨域请求发生的场景
1.其实除了前后端分离的场景需要实现跨域请求,也会有其他常见的场景要用到跨域请求:
2.某集团的非主营业务需要调用主站用户的账号信息,并将其数据显示出来
3.某宝、某东需要从第三方物流公司调用运单详情
4.本地开发程序时,本地文件夹不是在域名下面,要测试接口功能时可能需要发送ajax请求,这时也需要用到跨域请求
5.加载第三方网站上的图片,css样式,js等资源,有三个标签可以直接跨域访问这类资源:、、
3.如果将Origin请求头改为evil.cn,响应头中有Access-Control-Allow-Ori