Nginx修復(fù)CORS漏洞的實(shí)現(xiàn)方法
漏洞描述
CORS 不安全配置漏洞指的是在跨域資源共享過程中,由于資源服務(wù)器的響應(yīng)頭 Access-Control-Allow-Origin 配置不當(dāng)導(dǎo)致本應(yīng)該受限訪問的請求網(wǎng)站可以繞過訪問控制策略讀取資源服務(wù)器的數(shù)據(jù),造成用戶隱私泄露,信息竊取甚至賬戶劫持的危害。
漏洞細(xì)節(jié)
經(jīng)過對以下目標(biāo)進(jìn)行掃描測試:https://xxx.com/external/
發(fā)現(xiàn)存在該漏洞。
發(fā)現(xiàn) Access-Control-Allow-Origin
的值為 https://xxx.com.qa5bnet.cn
漏洞探測過程的請求流為
第 1 個請求為
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 個響應(yīng)為
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"
漏洞修復(fù)
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; }
具體配置如下:
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服務(wù)器的訪問地址和端口 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; } }
到此這篇關(guān)于Nginx修復(fù)CORS漏洞的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Nginx修復(fù)CORS漏洞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx限速配置的三種方法(limit_req、limit_conn、limit_rate)
本文主要介紹了nginx限速配置的三種方法,主要包括limit_req、limit_conn、limit_rate,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2023-08-08Nginx 連接tomcat時(shí)會話粘性問題分析及解決方法
這篇文章主要介紹了Nginx 連接tomcat時(shí)會話粘性問題分析及解決方法的相關(guān)資料,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Nginx 合并請求連接且加速網(wǎng)站訪問實(shí)例詳解
這篇文章主要介紹了Nginx 合并請求連接且加速網(wǎng)站訪問實(shí)例詳解,瀏覽器的并發(fā)請求數(shù)目限制是針對同一域名的,同一時(shí)間針對同一域名下的請求有一定數(shù)量限制,超過限制數(shù)目的請求會被阻塞,需要的朋友可以參考下2019-07-07Nginx列出目錄和文件并用密碼控制訪問權(quán)限配置方法
這篇文章主要介紹了Nginx列出目錄和文件并用密碼控制訪問權(quán)限配置方法,本文給出了詳細(xì)的安裝配置步驟,需要的朋友可以參考下2015-07-07Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解
這篇文章主要介紹了Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11