国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

常見Web 應用越權漏洞分析與防范研究*

2023-10-21 12:17姜程亮時偉鈺陳志強
通信技術 2023年9期
關鍵詞:越權令牌身份驗證

姜程亮,時偉鈺,陳志強,羅 鵬,蘭 杰

(1.中國人民解放軍91001 部隊,北京 100841;2.北京市復興路14 號24 分隊,北京 100843;3.中國人民解放軍95486 部隊,四川 成都,610000;4.中國電子科技集團公司第三十研究所,四川 成都 610041)

0 引言

隨著Web 技術的迅猛發(fā)展,Web 應用已經(jīng)普及到企業(yè)管理、電子商務等各個領域。由于Web 應用具有開放性的特點,逐漸成為網(wǎng)絡攻擊者的重點攻擊對象。Web 應用在給人們的工作帶來方便的同時,也帶來了巨大的安全風險。軟件一定存在各種已知或未知的漏洞,Web 應用也不例外[1]。常見的漏洞有結構化查詢語言(Structured Query Language,SQL)注入漏洞、跨站腳本漏洞(Cross Site Script,XSS)、跨站請求偽造漏洞(Cross Site Request Forgery,CSRF)、指令執(zhí)行漏洞、文件包含漏洞、越權訪問漏洞等[2-3]。

Web 應用漏洞無法杜絕,目前最有效的防范辦法是采用Web 漏洞掃描技術盡可能發(fā)現(xiàn)潛在漏洞并進行處理[4]。對于SQL注入、XSS、CSRF等Web漏洞,業(yè)界已經(jīng)有了比較成熟的檢測和防范方法[5],基于Fuzzing 技術的漏洞挖掘近年也被廣泛應用于Web應用的漏洞檢測中[6]。

Web 越權漏洞是一種常見的邏輯漏洞,是指未對通過身份驗證的用戶實施恰當?shù)脑L問控制,攻擊者利用這一漏洞,在未經(jīng)授權的情況下,泄露、修改或銷毀數(shù)據(jù),或在權限之外執(zhí)行業(yè)務功能。越權漏洞在開放Web 應用安全項目(Open Web Application Security Project,OWASP)中被稱為“訪問控制失效(Broken Access Control)”。

OWASP 是一個致力于Web 應用安全研究的開源、非營利、全球性安全組織,每年總結發(fā)布最可能發(fā)生、最常見、最危險的前10 個Web 漏洞的榜單,是Web 應用安全領域的權威參考。在2021 年OWASP 發(fā)布的榜單中,越權漏洞從2017 年的第5 名,躍居至第1 名[7],成為Web 應用安全中最可能發(fā)生、最危險的安全漏洞類型。由于越權漏洞屬于程序邏輯漏洞,其防護和檢測的難度非常大。

本文從漏洞威脅等級、影響面、攻擊價值、利用難度等幾個方面綜合考慮,選擇近3 年的典型越權漏洞進行分析,通過分析Web 越權漏洞的成因和常見攻擊方法,給出防范Web 越權漏洞的一般方法。

1 常見Web 越權漏洞分析

通用漏洞披露(Common Vulnerability and Exposures,CVE)是一個公開的權威網(wǎng)絡安全漏洞和暴露的列表,它通過CVE 標識符唯一標識每個已發(fā)現(xiàn)的軟件漏洞,并基于通用漏洞評分系統(tǒng)(Common Vulnerability Scoring System,CVSS)評分對漏洞進行優(yōu)先級排序。本文根據(jù)CVE 漏洞描述和CVSS 漏洞評分,選擇近幾年發(fā)現(xiàn)的與Apache Superset、Joomla、Alibaba Nacos、Zabbix、Apache ShenYu 這幾個在Web 開發(fā)中廣泛應用的Web 組件相關的高危越權漏洞進行分析。

1.1 Apache Superset 身份驗證繞過漏洞

Apache Superset 身份驗證繞過漏洞于2023 年4 月由Apache 官方發(fā)布,漏洞編號為CVE-2023-27524,CVSS 漏洞評分為8.9,屬于高危漏洞。由于用戶沒有修改默認配置,該漏洞使得攻擊者可以通過偽造Cookie 繞過身份驗證,屬于典型的錯誤參數(shù)配置造成的越權訪問漏洞。

Apache Superset 是一種用于數(shù)據(jù)探索和數(shù)據(jù)可視化的開源Web 應用程序[8]。它基于Python-Flask 框架,是適用于企業(yè)日常生產(chǎn)環(huán)境的商業(yè)智能可視化工具。該Web 應用的用戶狀態(tài)管理使用SECRET_KEY 加密簽名cookie 進行驗證,Superset-2.0.1 之前的版本安裝時SECRET_KEY 默認 為x02x01thisismyscretkeyx01x02\e\y\y\h,如果用戶使用默認SECRET_KEY 值,則SECRET_KEY 將暴露,攻擊者可以使用SECRET_KEY 生成偽造cookie,在未授權情況下訪問Web 應用程序,實現(xiàn)敏感數(shù)據(jù)竊取或任意代碼執(zhí)行。

使用Flask-Unsign 工具驗證目標網(wǎng)站是否存在CVE-2023-27524 漏洞的界面如圖1 所示。

圖1 CVE-2023-27524 漏洞驗證

1.2 Joomla 未經(jīng)授權訪問漏洞

Joomla 未經(jīng)授權訪問漏洞于2023 年2 月由Joomla 官方發(fā)布,漏洞編號CVE-2023-23752,漏洞評分7.5,屬于高危漏洞[9]。該漏洞是典型的不安全的應用程序接口(Application Programming Interface,API)訪問控制造成的越權訪問漏洞。

Joomla 是世界上使用最廣泛的開源內(nèi)容管理系 統(tǒng)(Content Management System,CMS)之 一,該系統(tǒng)用PHP 語言與MySQL 數(shù)據(jù)庫開發(fā),可以在Windows、Linux 等多種平臺運行,方便用戶構建網(wǎng)站和Web 應用程序。

Joomla 有3 個路由入口,分別是根目錄index.php(用戶訪問入口)、administrator/index.php(管理員入口)和api/index.php(開發(fā)者RestAPI 接口)。由于Joomla對Web 服務端點的訪問控制存在缺陷,未經(jīng)身份認證的攻擊者可以通過偽造特定請求訪問RestAPI 接口獲取Joomla 相關配置信息,導致敏感信息泄漏。

4.0.0 至4.2.7 的Joomla 未授權訪問統(tǒng)一資源定位器(Uniform Resource Locator,URL)路徑為api/index.php/v1/config/application?public=true,通過該路徑訪問能夠獲取用戶名、口令等敏感信息,如圖2 所示。

圖2 CVE-2023-23752 漏洞驗證

1.3 Alibaba Nacos 訪問控制漏洞

Alibaba Nacos 訪問控制漏洞于2020 年12 月由Alibaba Nacos 官方在github 發(fā)布的issue 中披露,漏洞編號CVE-2021-43116,CVSS 漏洞評分8.8,屬于高危漏洞。該漏洞是由于未正確處理超文本傳輸(Hypertext Transfer Protocol,HTTP)協(xié)議頭的User-Agent 參數(shù)導致的未授權訪問漏洞,利用該漏洞攻擊者可以進行任意操作,包括創(chuàng)建新用戶及進行認證登錄授權操作。

Nacos 是阿里巴巴推出的用于發(fā)現(xiàn)、配置和管理微服務的開源軟件,廣泛應用于微服務應用場景。其2.0.0-ALPHA.1 以下版本軟件為處理服務端到服務端的請求,將協(xié)商好的User-Agent 參數(shù)設置為“Nacos-Server”[10]。在認證授權操作時,當發(fā)現(xiàn)請求的User-Agent 為“Nacos-Server”時就不進行任何認證,導致了漏洞的出現(xiàn),如圖3 所示。

圖3 CVE-2021-43116 漏洞驗證

1.4 Zabbix 身份認證繞過漏洞

Zabbix 身份認證繞過漏洞由Zabbix 官方于2022 年初發(fā)布,漏洞編號CVE-2022-23131,CVSS漏洞評分9.1,為高危漏洞。該漏洞屬于會話信息處理機制的問題,因此攻擊者可以偽造數(shù)據(jù)繞過認證進入控制臺,屬于典型的不當?shù)臅捁芾碓斐傻脑綑嘣L問漏洞。

Zabbix 是一個非常流行的企業(yè)級開源監(jiān)控平臺,基于Web 界面提供分布式系統(tǒng)監(jiān)視及網(wǎng)絡監(jiān)視功能。Zabbix 將會話信息加密后保存在客戶端Cookie 中,在5.4.0~5.4.8 的版本中,數(shù)據(jù)只在驗證SessionID 時才進行加密處理,導致其他Key 數(shù)據(jù)不會被加密[11]。在通過SAML SSO 單點登錄進行認證時,將直接讀取SAML 中用戶信息進行認證。如圖4 所示,由于SAML 數(shù)據(jù)未加密,客戶端可以偽造數(shù)據(jù)繞過認證,以管理員身份進入Zabbix 控制臺,造成遠程命令執(zhí)行或敏感信息泄漏。

圖4 CVE-2023-23752 漏洞驗證

1.5 Apache ShenYu 身份驗證繞過漏洞

Apache ShenYu 身份驗證繞過漏洞于2021 年11 月由Apache 官方發(fā)布,漏洞編號CVE-2021-37580,CVSS 漏洞評分9.8,屬于高危漏洞。由于ShenyuAdminBootstrap 中JWT 的錯誤使用,攻擊者可以利用該漏洞繞過身份驗證,直接進入目標系統(tǒng),屬于典型的校驗不充分造成的越權訪問漏洞。

Apache ShenYu 是一款高性能、跨語言、響應式的開源API 網(wǎng)關,支持SpringCloud、Motan 等多種協(xié)議,兼容多種主流框架,廣泛應用于各種微服務場景中。Apache ShenYu 采用JWT(JSON Web Token)技術進行身份認證。JWT 是一個開放標準,用于作為JSON 對象在各方之間傳遞安全信息。在Apache ShenYu Admin 2.3.0 至2.4.0 版本中,通過token 獲取userInfo 對象時,僅對token 進行解析,但未進行充分校驗,攻擊者可通過該漏洞繞過管理者身份認證,進而獲取管理員賬號和口令[12],如圖5 所示。

圖5 CVE-2021-37580 漏洞驗證

2 Web 越權漏洞成因分析

通過以上對典型的Web 越權漏洞的分析可以看出,Web 越權漏洞形成的主要原因還是開發(fā)人員在設計階段對用戶權限的設計存在疏漏,當訪問控制沒有正確設計與配置時,允許攻擊者在未授權的情況下繞過或提升系統(tǒng)或應用程序所分配的權限。進一步細分Web 越權漏洞的成因,主要有以下幾種。

(1)錯誤的訪問控制機制:包括不正確的用戶權限管理、違反最小化授權原則、缺少訪問控制機制,會導致未授權訪問或權限提升。

(2)訪問控制配置不當:包括未更改默認訪問控制設置、錯誤配置用戶權限、未正確配置文件或目錄權限,如Apache Superset CVE-2023-27524身份驗證繞過漏洞。

(3)不安全的對象引用:允許用戶操作Web應用內(nèi)部對象引用,可能導致未授權訪問或敏感信息泄露,例如,允許用戶直接引用Web 應用內(nèi)部的數(shù)據(jù)庫或文件。

(4)不當?shù)臅捁芾恚喊ㄓ脩粼谧N后未使會話令牌(Token)失效,以及存在不安全的或可預測的訪問控制令牌,可能允許攻擊者劫持有效的用戶會話進行未授權訪問,如Zabbix CVE-2022-23131 身份認證繞過漏洞。

(5)不安全的API 訪問控制機制:包括未正確驗證API 請求者身份,未限制訪問頻率,缺少對POST、PUT 和DELETE 的訪問控制,允許不信任的來源訪問,如Joomla CVE-2023-23752 未經(jīng)授權的API 訪問控制漏洞。

(6)用戶輸入校驗不充分:不充分的輸入驗證可能允許攻擊者通過注入惡意輸入或繞過輸入過濾器來繞過訪問控制,導致路徑遍歷、文件包含或命令注入等漏洞。

3 Web 越權漏洞攻擊方法

3.1 Web 越權漏洞攻擊模式

Web 越權漏洞的常見攻擊模式包括垂直越權、水平越權、不安全的直接對象應用、強行瀏覽、參數(shù)篡改。

(1)垂直越權。在這種攻擊模式中,攻擊者利用經(jīng)過認證的用戶身份,通過操縱參數(shù)、會話令牌或用戶角色繞過訪問控制,訪問或執(zhí)行更高權限用戶的操作,達到提升系統(tǒng)中權限的意圖。

(2)水平越權。在這種攻擊模式中,攻擊者通過操縱參數(shù)或會話令牌,繞過在不同賬戶之間強制分離的訪問控制,并以合法用戶相同的權限進入另一個賬戶。

(3)不安全的直接對象引用(Insecure Direct Object References,IDOR)。在Web 應用中通過用戶輸入從數(shù)據(jù)庫或其他來源訪問或操作資源,而輸入沒有經(jīng)過充分地校驗或授權時,攻擊者可以未經(jīng)授權對系統(tǒng)資源進行訪問。

(4)強行瀏覽。在這種攻擊模式中,攻擊者試圖通過手動猜測或系統(tǒng)地列舉資源URL 或路徑來訪問受限制的資源。通過利用不恰當?shù)幕虮∪醯脑L問控制,他們可能會發(fā)現(xiàn)并訪問敏感信息或應受保護的功能。

(5)參數(shù)篡改實現(xiàn)權限升級。在這種攻擊模式中,攻擊者操縱請求中傳遞的參數(shù)改變應用程序的預期行為,如用戶ID、角色或權限,試圖獲得更高的權限或訪問受限制的資源。

(6)不安全的功能級授權。這種攻擊模式針對應用程序進行功能級授權處理時存在的漏洞。攻擊者利用特定功能或API 中薄弱或缺失的訪問控制,獲得對敏感操作或數(shù)據(jù)的未授權訪問。

3.2 Web 越權漏洞攻擊流程

Web 越權漏洞攻擊的流程一般包括偵查、用戶枚舉、識別目標用戶、漏洞利用、未授權訪問。

(1)偵查:攻擊者收集有關目標系統(tǒng)的信息,包括識別潛在的用戶和他們在系統(tǒng)中的角色或權限。

(2)用戶枚舉:攻擊者通過用戶名枚舉、搜索用戶名單或利用信息泄漏等技術,探測、枚舉系統(tǒng)中的有效賬戶。

(3)識別目標用戶:攻擊者選擇一個具有較低權限的特定賬戶,并確定具有較高權限的目標賬戶。

(4)漏洞利用:攻擊者分析、識別與利用系統(tǒng)的訪問控制機制或應用邏輯中的繞過認證、操縱授權檢查及錯誤配置等漏洞,實現(xiàn)權限提升。

(5)未授權訪問:一旦漏洞被成功利用,攻擊者就能以更高的權限進入目標賬戶,修改用戶角色、權限或會話令牌,訪問敏感數(shù)據(jù),執(zhí)行特權功能,或破壞系統(tǒng)內(nèi)的其他資源。

4 Web 越權漏洞防范方法

通過分析Web 越權漏洞成因和常見Web 越權漏洞攻擊方法,為了防范Web 越權漏洞帶來的潛在攻擊威脅,本文提出了以下措施:

(1)用戶輸入充分校驗。通過驗證用戶輸入,防范如URL 操縱或參數(shù)篡改等可能繞過訪問控制的攻擊。

(2)安全會話管理。有狀態(tài)的會話標識符應在注銷后在服務器上失效;無狀態(tài)的JWT 令牌必須設定較短有效期,以便使基于令牌的攻擊時間窗口降到最小,而對于壽命較長的JWT 令牌,強烈建議遵循OAuth 標準來撤銷訪問。

(3)多層訪問控制模型。采取深層安全措施在Web 應用程序、數(shù)據(jù)庫和操作系統(tǒng)等層面綜合實施訪問控制機制,如自主訪問控制(Discretionary Access Control,DAC)、訪問控制列表(Access Control List,ACL)、基于角色的訪問控制(Role Based Access Control,RBAC)等建立多層保護,強化對未授權訪問威脅的防御,即使攻擊者突破一個層面,也會被其他層面的防御機制阻止。

(4)適當?shù)腻e誤處理。實施適當?shù)腻e誤處理機制,以避免在錯誤信息中透露有關訪問控制機制或系統(tǒng)內(nèi)部的敏感信息。

(5)安全測試和審計。定期對Web 應用進行安全測試,如滲透測試和漏洞掃描,以發(fā)掘和檢測系統(tǒng)訪問控制中的潛在漏洞。

5 結語

越權漏洞作為Web 應用中的一種常見的安全漏洞,利用簡單且危害巨大,一旦被利用成功,可能導致未授權訪問、敏感信息泄露、數(shù)據(jù)篡改、執(zhí)行惡意代碼等危害。為了防范越權漏洞攻擊,本文提出在Web 應用設計階段引入越權漏洞防范機制,在編碼階段實施充分驗證用戶輸入、分配最小化權限、安全管理會話及建立多層訪問控制保護,在測試運行階段對重要的數(shù)據(jù)資產(chǎn)服務器進行重點防護與安全配置檢查,并定期進行安全測試和審計。

猜你喜歡
越權令牌身份驗證
企業(yè)組織內(nèi)員工越權行為:概念、前因與后效
稱金塊
基于路由和QoS令牌桶的集中式限速網(wǎng)關
動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
淺析法定代表人越權行為的處理
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
公司對外擔保與公司章程的關系
智能調整鐵水罐作業(yè)任務的開發(fā)與應用
身份驗證中基于主動外觀模型的手形匹配
ASP.NET中的Forms身份驗證的研究
福泉市| 瑞丽市| 门头沟区| 连城县| 梨树县| 栾城县| 巴塘县| 临沂市| 包头市| 云阳县| 太湖县| 尖扎县| 海安县| 九寨沟县| 昌乐县| 蒙城县| 福贡县| 格尔木市| 五原县| 乌海市| 于田县| 威信县| 行唐县| 六枝特区| 都江堰市| 林周县| 鄂州市| 佳木斯市| 商都县| 漯河市| 东乡族自治县| 台中县| 苍溪县| 嘉荫县| 甘谷县| 镇平县| 广河县| 龙山县| 丹巴县| 迭部县| 金川县|