SRC必会技巧——CORS跨域漏洞

2024-06-19 300 0

一、同源策略介绍

同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读取对方的资源,所以,abc.com下的js脚本采用ajax读取def.com里面的文件数据是会被拒绝的。

同源策略限制了从同一源文件的文档或脚本如何与来自另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的重要安全机制。

二、解决跨域问题

由于同源策略的影响,当我们从一个域名的网页去请求另一个域名的资源时,就无法成功获取资源。如果我们想要成功获取资源,那么就要用到跨域。

跨域解决方案:jsonp,cors,postMessage。

三、CORS跨域资源共享

CORS跨域资源共享漏洞一般在于请求包当中Origin请求头,然后去观察相应包当中Access-Control-Allow-Origin当网站发起跨域资源请求时,服务端将返回协议,并且浏览器添加Origin。

SRC必会技巧——CORS跨域漏洞插图

请求头当中添加Origin:www.abc.com随意输入一个网址,查看相应包发现Access-Control-Allow-Origin:www.abc.com内容随之改变。

在正常情况下,服务器端返回Access-Control-Allow-Origin:*的时候资源可以被本地域进行访问,当变成null表明可以被任意外域进行访问。

SRC必会技巧——CORS跨域漏洞插图1

如图所示请求,在请求包当中不存在origin协议但是发现相应包存在目标协议,则可以进行具体分析,在请求包当中添加Origin协议,测试是否可以进行外域访问,当然这一步的前提是查看是否相应包当中存在敏感信息,如果存在在进行跨域。

  1. 是否存在敏感信息。
  2. 相应包是否存在Access-Control-Allow-Origin
  3. 查看请求头是否有Origin,有则尝试跨域,无则添加Origin协议
  4. 查看是否相应包协议跟随请求包协议进行变化

我们这里对请求包和相应包进行一下详解:

request:

1  GET /resources/public-data/ HTTP/1.1
2  Host: bar.com
3  User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081130 Minefield/3.1b3pre
4  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
5  Accept-Language: en-us,en;q=0.5
6  Accept-Encoding: gzip,deflate
7  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
8  Connection: keep-alive
9  Referer: http://example.com/examples/access-control/simpleXSInvocation.html
10 Origin: http://example.com

response:

11  HTTP/1.1 200 OK
12  Date: Mon, 01 Dec 2020 00:23:53 GMT
13  Server: Apache/2.0.61 
14  Access-Control-Allow-Origin: *
15  Keep-Alive: timeout=2, max=100
16  Connection: Keep-Alive
17  Transfer-Encoding: chunked
18  Content-Type: application/xml

这里request是请求首部,在第十行Origin表明该请求来源于http://example.com.

response可以看到http://bar.com的服务端响应,响应中携带了响应首部字段Access-Control-Allow-Origin

使用OriginAccess-Control-Allow-Origin就能完成最简单的访问控制了,本例中,服务端返回的Access Access-Control-Allow-Origin:*表明,该资源可以被任意外域进行访问,如果服务端仅允许来自http://example.com的访问,该首部字段的内容如下:

Access-Control-Allow-Origin: http://example.com

如果跨域请求可以包含cookie的话,在服务端响应应该有这一字段:

Access-Control-Allow-Credentials: true

这样的话攻击者就可以利用这个漏洞来窃取已经在这个网站登录了的用户的信息(利用cookie)。

四、漏洞利用

1、这里以droabox靶场为例

SRC必会技巧——CORS跨域漏洞插图2

这个接口会返回已经登录的用户信息数据,通过访问该网页的响应我们可以看到这里可能存在CORS跨域资源共享漏洞。

SRC必会技巧——CORS跨域漏洞插图3


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

苹果试图保护你的隐私,OpenAI可能做不到
Shuffle:一款完全自动化的安全栈增强平台
如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞

发布评论