【漏洞預警】Spring Boot Actuator未授權訪問遠程代碼執行漏洞[轉]

一、Spring Boot Actuator漏洞描述

  • 事件

2019年2月28日,阿里云云盾應急響應中心監測到有國外安全研究人員披露Spring Boot
Actuator模塊中間件存在未授權訪問遠程代碼執行漏洞。

  • 漏洞描述

Actuator是Spring Boot提供的服務監控和管理中間件,默認配置會出現接口未授權訪問,部分接口會泄露網站流量信息和內存信息等,使用Jolokia庫特性甚至可以遠程執行任意代碼,獲取服務器權限。

  • 漏洞評級

嚴重

  • 影響版本

全版本且無安全配置

  • 安全建議

禁用所有接口,將配置改成:endpoints.enabled = false
或者引入spring-boot-starter-security依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

開啓security功能,配置訪問權限驗證,類似配置如下:

management.port=8099
management.security.enabled=true
security.user.name=xxxxx
security.user.password=xxxxxx
  • 原文地址:https://bbs.aliyun.com/read/592982.html

二、基本原理

Spring Boot Framework包含許多稱爲執行器的功能,可幫助您在將Web應用程序投入生產時監視和管理Web應用程序。它們旨在用於審計,運行狀況和指標收集,它們還可能在配置錯誤時打開服務器的隱藏門。

當Spring Boot應用程序運行時,它會自動將多個端點(例如’/ health’,’/ trace’,’/ beans’,’/ env’等)註冊到路由進程中。對於Spring Boot 1 - 1.4,它們無需身份驗證即可訪問,從而導致嚴重的安全問題。從Spring 1.5版開始,默認情況下,除“/ health”和“/ info”之外的所有端點都被視爲敏感和安全,但應用程序開發人員通常會禁用此安全性。

以下Actuator端點可能具有安全隱患,從而導致可能的漏洞:

  • /dump - 顯示線程轉儲(包括堆棧跟蹤)
  • /trace - 顯示最後幾條HTTP消息(可能包含會話標識符)
  • /logfile - 輸出日誌文件的內容
  • /shutdown - 關閉應用程序
  • /mappings - 顯示所有MVC控制器映射
  • /env - 提供對配置環境的訪問
  • /restart - 重新啓動應用程序

對於Spring 1x,它們在根URL下注冊,並且在2x中它們移動到“/actuator/”基本路徑。

  • 備註

通過上述url可以獲取部分關鍵信息,如/env客戶獲取應用的配置信息(數據庫、kafka、redis等其他依賴項);/restart重啓應用,如果淘寶暴露此漏洞,你可以重啓淘寶應用,想想都可怕; /shutdown關閉應用,那還得了;/mappings 獲取應用所有接口列表,對其進行攻擊,致使接口無法正常使用;

  • 更多說明參考原文

作者:慕凌峯
鏈接:https://www.jianshu.com/p/3162ce30a853
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章