国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

這篇具有很好參考價值的文章主要介紹了CORS跨域資源共享漏洞的復現、分析、利用及修復過程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Part1 前言?

CORS跨域資源共享漏洞與JSONP劫持漏洞類似,都是程序員在解決跨域問題中進行了錯誤的配置。攻擊者可以利用Web應用對用戶請求數據包的Origin頭校驗不嚴格,誘騙受害者訪問攻擊者制作好的惡意網站,從而跨域獲取受害者的敏感數據,包括轉賬記錄、交易記錄、個人身份證號信息、訂單信息等等。

近幾年在很多的滲透測試報告中,CORS跨域資源共享漏洞越來越多了。有的朋友實在挖不出漏洞,偶爾就會寫上一個CORS跨域資源共享漏洞出一份報告,但是細究起來以下幾個問題,卻都模棱兩可,搞不明白。

1.?什么是CORS漏洞?

2.?哪些情況下的CORS漏洞是高危漏洞?哪些情況下CORS漏洞是沒有危害的?

3.?CORS漏洞的怎么利用?

4.?CORS漏洞的修補建議?

很多朋友以為Web應用返回Access-Control-Allow-Origin: *就是存在漏洞,其實這個判斷是不完善的。本期作者自己寫了一個Java的測試環(huán)境,給大家演示一下CORS漏洞的復現過程及利用過程,相信大家一看就明白了。

Part2 CORS漏洞測試結果?

首先給出最終測試結果,以下結論是自寫Java代碼搭建環(huán)境進行測試給出的結論,歡迎大家批評指正。首先使用burpsuite抓包對http請求添加Origin: http://www.attacker.com進行測試:

?1???如果返回頭是以下情況,那么就是高危漏洞,這種情況下漏洞最好利用:

Access-Control-Allow-Origin: https://www.attacker.com

Access-Control-Allow-Credentials: true

?2???如果返回頭是以下情況,那么也可以認為是高危漏洞,只是利用起來麻煩一些:

Access-Control-Allow-Origin: null

Access-Control-Allow-Credentials: true

?3???如果返回以下,則不存在漏洞,因為Null必須是小寫才存在漏洞:

Access-Control-Allow-Origin: Null

Access-Control-Allow-Credentials: true

?4???如果返回以下,可認為不存在漏洞,因為CORS安全機制阻止了這種情況下的漏洞利用,也可以寫上低危的CORS配置錯誤問題。

Access-Control-Allow-Origin: *

Access-Control-Allow-Credentials: true

?5???如果返回以下,可認為不存在漏洞,也可以寫上低危的CORS配置錯誤問題。

Access-Control-Allow-Origin: *

?Part3 CORS跨域漏洞復現?

一般CORS漏洞的測試過程

首先復習一下常規(guī)的CORS漏洞測試過程:抓取一個能夠返回個人敏感數據的HTTP請求包,添加Origin: http://www.xxx.com,查看返回頭中是否包含“Access-Control-Allow-Origin: *”、“Access-Control-Allow-Credentials: true”,這里說明一點,如果返回包中這兩個頭同時存在,那么它其實是不存在CORS漏洞的。接下來依據Access-Control-Allow-Origin、Access-Control-Allow-Credentials的不同返回值的各種情況,分別寫Java代碼測試一下,是否能夠獲取敏感數據,大家就明白了。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

  • 編寫Java代碼測試

接下來我用Java編寫了兩個Servlet代碼模擬一個Web購物網站,用JS前端代碼模擬攻擊者構造的CORS漏洞利用html頁面。

如下所示,首先是登錄界面的servlet代碼如下。

?CORS跨域資源共享漏洞的復現、分析、利用及修復過程

代碼效果如下,用戶輸入用戶名密碼后,購物網站提示登錄成功,這時候后臺代碼已經生成Cookie。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

接下來用戶訪問PersonInfo頁面,http://192.168.237.1:9999/Servlet/PersonInfo 會顯示交易密碼是123456。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

此頁面對應的PersonInfo的Sevlet代碼如下:

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

接下來攻擊者為了獲取該購物網站用戶的交易密碼,精心構造了如下的attack.html頁面放到Web服務器上,此時攻擊URL是http://www.attacker111.com/attack.html。攻擊者將此URL發(fā)給受害者瀏覽,受害者的交易密碼將會被獲取到。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

  • 第1種情況:

首先看第1種情況,服務器返回如下消息頭,這種情況下,非常好利用,所以漏洞定級是高危:

Access-Control-Allow-Origin: https://www.attacker.com

Access-Control-Allow-Credentials: true

這兩個返回頭表示應用程序允許來自任何Origin的任何腳本向應用程序發(fā)出CORS請求,這時候程序員的代碼是這樣寫的:

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

受害者訪問攻擊者構造好的URL之后,成功獲取用戶的敏感數據。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

F12查看瀏覽器發(fā)出的請求,發(fā)現其帶上了Cookie,成功繞過跨域的同源限制。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

?文章來源地址http://www.zghlxwxcb.cn/news/detail-466204.html

  • 第2種情況:

服務器返回如下消息頭,這種情況下,利用起來稍有困難,這里的null必須全部都是小寫,漏洞仍然是高危。

Access-Control-Allow-Origin: null

Access-Control-Allow-Credentials: true

在這種情況下,應用程序HTTP響應頭Access-Control-Allow-Origin的值始終為null。當用戶指定null以外的任何值時,應用程序不會處理。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

這時候訪問http://192.168.237.199/attack.html,發(fā)現瀏覽器提示CORS策略錯誤。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

因為這時候的Origin不等于null

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

這里需要想辦法讓Origin等于null,于是攻擊者構造如下js代碼:

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

此時發(fā)現仍然可以成功獲取用戶的敏感數據。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程?

  • 第3種情況:

服務器返回如下消息頭,這種情況下,其實是不存在漏洞的,如果非要牽強地說存在漏洞,可以協(xié)商CORS配置錯誤,畢竟設置為*本身就有問題。

Access-Control-Allow-Origin: *

Access-Control-Allow-Credentials: true

對應著java代碼如下:

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

?訪問http://www.attacker111.com/attack.html發(fā)現,瀏覽器直接報錯,看來這種情況根本不被安全策略所允許。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

  • 第4種情況:

服務器返回如下消息頭,這個就不演示了,只能說明CORS配置存在問題,但是沒法獲取敏感數據,漏洞評級應為中?;蛘叩臀!?/p>

Access-Control-Allow-Origin:*

  • Chrome瀏覽器測試結果

接下來換谷歌Chrome瀏覽器最新版本下測試,發(fā)現確實成功繞過了同源策略,發(fā)起了跨域請求,但是Chrome瀏覽器卻沒有為請求帶上Cookie,所以漏洞利用有限。

CORS跨域資源共享漏洞的復現、分析、利用及修復過程

?Part4 修補建議?

1.?Access-Control-Allow-Origin中指定的來源只能是受信任的站點,避免使用Access-Control-Allow-Origin: *,避免使用Access-Control-Allow-Origin: null,否則攻擊者可以偽造來源請求實現跨域資源竊取。

2.?嚴格校驗“Origin”值,校驗的正則表達式一定要編寫完善,避免出現繞過的情況。

3.?減少“Access-Control-Allow-Methods”所允許的請求方法。

4.?除了正確配置CORS之外,Web服務器還應繼續(xù)對敏感數據進行保護,例如身份驗證和會話管理等。

?

?

?

?

?

?

?

到了這里,關于CORS跨域資源共享漏洞的復現、分析、利用及修復過程的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 前端調用DRI后端API出現跨域資源共享(CORS)問題解決辦法

    目錄 1. 引言 2. 跨源資源共享和實現方法 3. 在Django項目中配置django-cors-headers庫 Reference 在進行后端API開發(fā)時,有時會遇到“跨域資源共享 (CORS) 請求...被阻止“的錯誤,如圖1所示。本文講解如何在使用DRF(Django REST Framework)的后端API開發(fā)項目中解決這個問題。 A cross-origin re

    2024年04月25日
    瀏覽(22)
  • 徹底理解前端安全面試題(3)—— CORS跨域資源共享,解決跨域問題,建議收藏(含源碼)

    徹底理解前端安全面試題(3)—— CORS跨域資源共享,解決跨域問題,建議收藏(含源碼)

    前端關于網絡安全看似高深莫測,其實來來回回就那么點東西,我總結一下就是 3 + 1 ?= 4,3個用字母描述的【分別是 XSS、CSRF、CORS】 + 一個中間人攻擊。當然 CORS 同源策略是為了防止攻擊的安全策略,其他的都是網絡攻擊。除了這 4 個前端相關的面試題,其他的都是一些不常

    2024年02月01日
    瀏覽(21)
  • 通過HTTP隧道在Linux上實現跨域資源共享(CORS):打破數字世界的“門禁”

    通過HTTP隧道在Linux上實現跨域資源共享(CORS):打破數字世界的“門禁”

    在數字世界里,有時你會碰到一些“門禁”,它們阻止你訪問某些資源,就像現實生活中的門禁系統(tǒng)一樣。這些“門禁”就是所謂的跨域資源共享(CORS)限制。不過別擔心,我們有一個絕妙的解決方案:通過HTTP隧道在Linux上實現CORS,讓你輕松跨越這些“門禁”,暢游數字世

    2024年02月21日
    瀏覽(21)
  • Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域資源共享(訪問控制允許來源:允許指定的來源進行跨域請求)瀏覽器同源策略、OPTIONS預檢請求

    Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域資源共享(訪問控制允許來源:允許指定的來源進行跨域請求)瀏覽器同源策略、OPTIONS預檢請求

    瀏覽器的同源策略(Same-Origin Policy)限制了跨域請求,如果不進行特殊處理,跨域請求將被瀏覽器攔截。 接口支持跨域能夠允許瀏覽器跨域請求不被瀏覽器攔截。 下面是跨域請求的一些影響、優(yōu)點和缺點: 優(yōu)點 允許不同域名下的應用程序進行數據交互,提高了系統(tǒng)的靈活性

    2024年02月11日
    瀏覽(17)
  • HTTP 第六章 跨資源共享(CORS)

    HTTP 第六章 跨資源共享(CORS)

    跨源資源共享(CORS,或通俗地譯為跨域資源共享)是一種基于 HTTP 頭的機制,該機制通過允許服務器標示除了它自己以外的其他源(域、協(xié)議或端口),使得瀏覽器允許這些源訪問加載自己的資源??缭促Y源共享還通過一種機制來檢查服務器是否會允許要發(fā)送的真實請求,該

    2024年02月22日
    瀏覽(19)
  • 【burpsuite安全練兵場-客戶端13】跨來源資源共享(CORS)-4個實驗(全)

    【burpsuite安全練兵場-客戶端13】跨來源資源共享(CORS)-4個實驗(全)

    ?? 博主:網絡安全領域狂熱愛好者(承諾在CSDN永久無償分享文章)。 殊榮:CSDN網絡安全領域優(yōu)質創(chuàng)作者,2022年雙十一業(yè)務安全保衛(wèi)戰(zhàn)-某廠第一名,某廠特邀數字業(yè)務安全研究員,edusrc高白帽,vulfocus、攻防世界等平臺排名100+、高校漏洞證書、cnvd原創(chuàng)漏洞證書,華為云、

    2024年02月02日
    瀏覽(22)
  • WEB攻防通用漏洞&跨域CORS資源&JSONP回調&域名接管劫持

    WEB攻防通用漏洞&跨域CORS資源&JSONP回調&域名接管劫持

    目錄 一、同源策略(SOC) 二、跨域資源(COSP) 三、回調跨域(JSOP) 四、CORS資源跨域-敏感頁面原碼獲取 五、JSONP 回調跨域-某牙個人信息泄露 六、子域名劫持接管 同源策略 (SOP)-“ 同源 ” 包括三個條件:同協(xié)議、同域名、同端口。 會檢測數據包的來源在哪里,進而來判

    2024年02月01日
    瀏覽(32)
  • 【開源】基于JAVA的教學資源共享平臺

    【開源】基于JAVA的教學資源共享平臺

    基于JAVA+Vue+SpringBoot+MySQL的教學資源共享平臺,包含了課程管理、課程課件、授課中心、作業(yè)發(fā)布、課程評價、課程質量分析、交流互動模塊,還包含系統(tǒng)自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,教學資源

    2024年01月19日
    瀏覽(26)
  • 云計算資源供應模型是指云計算所提供的資源供應方式,主要包括共享型資源和專屬型資源。

    作者:禪與計算機程序設計藝術 云計算是一種將大數據、機器學習等技術應用到互聯(lián)網的數據中心中,向用戶提供更高級的計算服務的一種服務模式。其特點之一就是利用計算機硬件、網絡和軟件資源池作為計算基礎設施(Infrastructure as a Service, IaaS)或平臺服務(Platform as

    2024年02月06日
    瀏覽(20)
  • 【開源】基于JAVA語言的教學資源共享平臺

    【開源】基于JAVA語言的教學資源共享平臺

    基于JAVA+Vue+SpringBoot+MySQL的教學資源共享平臺,包含了課程管理、課程課件、授課中心、作業(yè)發(fā)布、課程評價、課程質量分析、交流互動模塊,還包含系統(tǒng)自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,教學資源

    2024年01月20日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包