广告位联系
返回顶部
分享到

Nginx修复CORS漏洞的实现方法

nginx 来源:互联网 作者:佚名 发布时间:2024-11-16 10:56:49 人浏览
摘要

漏洞描述 CORS 不安全配置漏洞指的是在跨域资源共享过程中,由于资源服务器的响应头 Access-Control-Allow-Origin 配置不当导致本应该受限访问的请求网站可以绕过访问控制策略读取资源服务器的数

漏洞描述

CORS 不安全配置漏洞指的是在跨域资源共享过程中,由于资源服务器的响应头 Access-Control-Allow-Origin 配置不当导致本应该受限访问的请求网站可以绕过访问控制策略读取资源服务器的数据,造成用户隐私泄露,信息窃取甚至账户劫持的危害。

漏洞细节

经过对以下目标进行扫描测试:https://xxx.com/external/

发现存在该漏洞。

发现 Access-Control-Allow-Origin 的值为 https://xxx.com.qa5bnet.cn

漏洞探测过程的请求流为
第 1 个请求为

1

2

3

4

5

6

7

8

9

10

11

12

GET /external/ HTTP/1.1

Host: xxx.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Accept-Language: en

Origin: https://xxx.com.qa5bnet.cn

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1

Upgrade-Insecure-Requests: 1

Accept-Encoding: gzip

第 1 个响应为

1

2

3

4

5

6

7

HTTP/1.1 401

Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETE

Access-Control-Allow-Origin: https://xxx.com.qa5bnet.cn

Connection: keep-alive

Content-Length: 0

Date: Mon, 13 Nov 2023 02:07:00 GMT

Www-Authenticate: BASIC realm="application"

漏洞修复

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

        set $flag 0;

 

        if ($http_origin = ''){

            set $flag "${flag}1";

        }

 

        if ($http_origin !~* ^(http|https)://test\.test\.com$){

            set $flag "${flag}1";

        }

 

        if ($flag = "01"){

            return 403;

        }

 

        if ($http_origin ~* ^(http|https)://test\.test\.com$) {

            add_header Access-Control-Allow-Origin $http_origin;

            add_header Access-Control-Allow-Methods GET,POST;

            add_header Access-Control-Allow-Credentials true;

            add_header Access-Control-Allow-Headers DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control,Content-Type;

}

具体配置如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

server {

      listen 80;

      server_name test.test.com;

 

      location / {

          set $flag 0;

   

          if ($http_origin = ''){

              set $flag "${flag}1";

          }

   

          if ($http_origin !~* ^(http|https)://test\.test\.com$){

              set $flag "${flag}1";

          }

   

          if ($flag = "01"){

              return 403;

          }

   

          if ($http_origin ~* ^(http|https)://test\.test\.com$) {

              add_header Access-Control-Allow-Origin $http_origin;

              add_header Access-Control-Allow-Methods GET,POST;

              add_header Access-Control-Allow-Credentials true;

              add_header Access-Control-Allow-Headers DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control,Content-Type;

                  }

       

          #将IP和端口改为DataEase服务器的访问地址和端口

          proxy_pass   http://192.168.110.251:81/;

          server_name_in_redirect off;

 

          # websocket 代理

          proxy_http_version      1.1;

          proxy_set_header        Upgrade         $http_upgrade;

          proxy_set_header        Connection "upgrade";

 

          proxy_set_header           Host $host:$server_port;

          proxy_set_header           X-Real-IP $remote_addr;

          proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;

          proxy_set_header           X-Forwarded-Proto $scheme;

 

          

      }

}


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Nginx设置Access-Control-Allow-Origin多域名跨域实现

    Nginx设置Access-Control-Allow-Origin多域名跨域实现
    修改配置文件 可通过如下配制进行多域名的设置。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 map $http_origin $corsHost { default 0; ~https://www.itbiancheng.com https://
  • Nginx修复CORS漏洞的实现方法
    漏洞描述 CORS 不安全配置漏洞指的是在跨域资源共享过程中,由于资源服务器的响应头 Access-Control-Allow-Origin 配置不当导致本应该受限访问的
  • Nginx配置超时时间的排查方法
    如果在 Nginx 中设置了 keepalive_timeout、client_header_timeout 和 client_body_timeout 后仍然不起作用,可以尝试以下排查步骤: 1. 确认配置的生效范围
  • Nginx中配置防盗链的方法实现介绍
    在当今数字化的时代,网站内容就如同珍贵的宝藏,而盗链则像是可恶的盗贼,企图不劳而获地窃取这些宝藏。想象一下,您辛辛苦苦打造
  • Nginx只允许www域名访问并禁止裸域名访问的实现步
    在网站管理中,很多时候我们希望用户只能通过带有www的域名访问,而对于裸域名(即没有www前缀的域名)则禁止访问或进行重定向。这可
  • Nginx实现UDP四层转发的过程

    Nginx实现UDP四层转发的过程
    有2台云服务器,一台国内的、一台国外的,我本地网络直连国外的IP上VPN速率很慢。但是由于云服务器厂商有线路优化,国内的服务器到国
  • Nginx限流和流量控制的实现介绍
    Nginx 提供了强大的流量控制功能。限制客户端在特定时间段内的请求次数,以保护服务器资源,防止因过载而导致的性能下降甚至服务不可
  • Nginx服务器配置https安全协议的实现

    Nginx服务器配置https安全协议的实现
    一、简介 HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地
  • 深入理解Nginx中的sites-enabled目录
    Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,广泛用于网站和应用的部署中。在 Nginx 的配置管理中,sites-enabled目录扮演了一个重要角
  • Nginx下将http改为https的操作教程

    Nginx下将http改为https的操作教程
    将服务从HTTP变为HTTPS,需要进行SSL证书的配置。需要完成一下步骤: 获取SSL证书 安装SSL证书 配置Nginx支持HTTPS 重启Nginx HTTP到HTTPS的重定向(
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计