常見中間件漏洞之一 ----【Tomcat】

中間件Tomcat介紹:

tomcat是?個開源?且免費的jsp服務器,默認端? : 8080,屬于輕量級應?服務器。它可以實現 JavaWeb程序的裝載,是配置JSP(Java Server Page)和JAVA系統必備的?款環境。

在歷史上也披露出來了很多的漏洞。以下講的就是三種經典的漏洞。

一、CVE-2017-12615【Tomcat put?法任意?件寫?漏洞】

漏洞原理:

當在Tomcat的conf(配置?錄下)/web.xml配置?件中添加readonly設置為false時,將導致該漏洞產?,(需要允許put請求)?, 攻擊者可以利?PUT?法通過精?構造的數據包向存在漏洞的服務器??上傳 jsp?句話?件,從?造成遠程命令執?,getshell等。

1. 開啟靶場環境

【Centos7.6 虛擬機中開啟環境,也可以在云服務器中搭建環境】

切換目錄:cd /vulhub-master/tomcat/CVE-2017-12615

修改版本為3:vim docker-compose.yml

開啟環境:docker-compose up -d

查看開啟環境的端口:docker ps,發現端口是8080

注意:如果端口被占用,在修改版本步驟中,也可以修改端口,同時保證“安全”處該端口保證開放【如果看過之前分享的內容,會知道我們將1-65535端口都開放了】。再重新啟動環境即可。

2. 訪問靶場網址? ip+端口? ?

192.168.182.143:8080

3.? 首頁抓包,修改為PUT方式提交

Tomcat允許適?put?法上傳任意?件類型,但不允許jsp后綴?件上傳,因此我們需要配合 windows的 解析漏洞。? ? ? ? PUT /shell.jsp%20

get方式修改為put方式上傳txt文件進行測試【必須先測試,養成習慣】

訪問上傳的1.txt文件,發現顯示了內容,上傳成功。

4. 使用哥斯拉生成jsp木馬文件,并上傳到靶場

打開哥斯拉【Godzilla】,點擊管理--生成,有效載荷為Java,點擊生成,保存為1.jsp文件。

再次嘗試上傳文件,以2.jsp為例,上傳內容為123,發現上傳失敗。結合上一步txt文件上傳成功,分析出上傳方式沒問題,而上傳文件的后綴jsp不可以。【這是體現了先測試txt文件上傳的重要性】

遇到文件后綴被過濾,思考:加空格、加斜杠(/)或者數據流繞過(::$DATA)

加空格,訪問地址為ip:8080/2.jsp空格,發現仍然失敗。

加 /,訪問地址為:ip:8080/1.jsp/,被當做目錄執行。

接著上傳我們通過哥斯拉生成的木馬1.jsp文件,上傳成功

5. 訪問上傳的jsp木馬文件,哥斯拉進行連接

哥斯拉連接?

右鍵--進入--文件管理,就可以控制目標了

6. 關閉docker開啟的容器,并刪除

docker ps先查看當前開啟的docker容器服務,

docker stop? 查到需要關閉的容器id,回車進行關閉

docker rm 容器id,刪除容器。【一定要先關閉服務,再刪除容器

注意:容器記得及時關閉刪除,避免資源占用和浪費。同時預防端口被占用問題。

二、后臺弱?令部署war包

漏洞原理:

在tomcat8環境下默認進?后臺的密碼為 tomcat/tomcat ,未修改造成未授權即可進?后臺,或者管 理員把密碼設置成弱?令。

1.環境搭建

切換目錄:cd vulhub-master/tomcat/tomcat8

開啟靶場環境:docker-compose up -d

修改版本為3:vim docker-compose.yml

再次開啟環境。

開啟成功?

2.訪問ip:端口

docker ps查看開啟docker容器的端口,端口為8080

3.弱口令登錄管理界面

直接點擊Manager App或者訪問管理員界面ip:8080/manager/html

弱口令:tomcat、tomcat

登錄成功

4.??制作WAR包

發現可上傳war文件

制作WAR包,將JSP??壓縮為ZIP格式,然后修改后綴為war就可以了。
? ?--------zip->.war--------》????

5.?件上傳成功后,默認會在?站根?錄下?成和war包名稱?致得?錄,然后?錄中得??就是壓縮 前的?件名。

發現/1,這就是我們上傳的。

6. 該文件里有我們的1.jsp木馬文件,進行訪問

ip:8080/1/1.jsp

7.? 哥斯拉進行連接,可控制目標

8. 關閉環境容器,并刪除

docker ps----------》? docker stop 容器id,停止服務? ---》docker rm 容器id,刪除容器

三、CVE-2020-1938【Tomcat?件包含漏洞

靶場原理:

由于Tomcat AJP協議設計上的缺陷,攻擊者通過Tomcat AJP Connector 可以讀取或包含Tomcat上所 有 Webapp?錄下的任意?件,例如:

可以讀取webapp配置?件或源碼?件。

此外如果?標應?有?件上傳的功能情況下,配合為?件包含漏洞利?GetShell。

1.環境搭建

cd vulhub-master/tomcat/CVE-2020-1938

docker-compose up -d

修改版本號為3:vim docker-compose.yml

再次開啟環境:docker-compose up -d?

查看端口:docker ps ,端口為8009

2.訪問ip:8009失敗,訪問8080成功

tomcat默認的conf/server.xml中配置了2個Connector,?個為 8080 的對外提供的HTTP協議端?, 另 外?個就是默認的 8009 AJP協議端?,兩個端?默認均監聽在外?ip。

3.POC:

下載tomcat文件包含.py,拖進kali,使用python2進行運行【必須是python2】。

python2 Tomcat-ROOT路徑下文件包含(CVE-2020-1938).py -p 8009 -f /WEB-INF/web.xml 192.168.182.143?

讀取到目標文件內容,練習成功。

4.關閉環境,刪除容器

查看當前開啟的容器信息:docker ps

關閉目標容器:docker stop id

刪除目標容器:docker rm id

【及時關閉并且刪除目標容器,可以節省空間資源和預防端口占用問題】

Tomcat的漏洞簡單練習到這。

對于中間件之一的漏洞了解,望對每位讀者有所成效。

拜拜。。。?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---------2025/3/24 0:24

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

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

相關文章

GoogleNet的簡易實現

這里使用GooleNet對MNIST手寫數據集進行分類,最后的效果達到了在測試集98%的準確率。這里關于該網絡的細節可以在網絡上搜索到,相關原理也可以搜索到,這里僅展示網絡的代碼實現,這里是基于pytorch實現的,詳細的代碼如下…

javaweb自用筆記:Mybatis

目錄 mybatis 配置sql書寫提示 JDBC 數據庫連接池 lombok mybatis 只需要定義Mapper接口就好,不需要有實現類,因為框架底層會自動生成實現類 配置sql書寫提示 JDBC 數據庫連接池 lombok XML映射文件 動態SQL

Rust從入門到精通之精通篇:22.Unsafe Rust 詳解

Unsafe Rust 詳解 在 Rust 的設計哲學中,安全性是核心原則之一。Rust 的所有權系統、借用檢查器和類型系統共同保證了內存安全和線程安全。然而,有些底層操作無法通過 Rust 的安全檢查機制進行驗證,這就是 unsafe Rust 存在的原因。在本章中,我們將深入探討 unsafe Rust,…

比手動備份快 Iperius全自動加密備份,NAS/云盤/磁帶機全兼容

IperiusBackupFull是一款專為服務器和工作站設計的備份解決方案,它同時也是一款針對Windows 7/8/10/11/Server系統的簡潔且可靠的備份軟件。該軟件支持增量備份、數據同步以及驅動器鏡像,確保能夠實現完全的系統恢復。在備份存儲方面,Iperius…

deepseek實戰教程-第六篇查找源碼之倉庫地址與deepseek-R1、deepseek-LLM倉庫內容查看

上一篇講了支持deepseek的模型應用的本地安裝和部署以及使用。再上一篇講解了deepseek提供的開放api,便于開發者基于deepseek提供的接口來編寫屬于自己的業務應用程序。但是前面幾篇我們都是在用模型,我們知道deepseek是開源的,那么deepseek的源碼在哪里,具體源碼是什么樣的…

ES 加入高亮設置

searchTextQueryOne new MatchQuery.Builder().field(searchFieldOne).query(searchText).build();// 幫助中心文檔切分 只查詢6條Integer finalTopK 10;List<String> newReturnFileds returnFields;newReturnFileds.add("kid"); // 需要返回kidHighlight h…

mapbox進階,添加鷹眼圖控件

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??mapboxgl-minimap 鷹眼控件二、??添加…

亮數據爬取API爬取亞馬遜電商平臺實戰教程

前言 在當今數據驅動的商業環境中&#xff0c;企業需要快速、精準地獲取互聯網上的公開數據以支持市場分析、競品調研和用戶行為研究。然而&#xff0c;傳統的手動網頁爬取方式面臨著諸多挑戰&#xff1a;IP封鎖、驗證碼干擾、網站結構頻繁變更&#xff0c;以及高昂的運維成本…

「Unity3D」使用C#獲取Android虛擬鍵盤的高度

原理是&#xff1a;利用getWindowVisibleDisplayFrame方法&#xff0c;獲取Android窗口可見區域的Rect&#xff0c;這個Rect剔除了狀態欄與導航欄&#xff0c;并且在有虛擬鍵盤遮擋的時候&#xff0c;會剔除這個遮擋區域。 接著&#xff0c;Unity的safeArea也剔除了狀態欄與導…

“城市超級智能體”落地,聯想智慧城市4.0“功到自然成”

作者 | 曾響鈴 文 | 響鈴說 交通攝像頭捕捉到車流量數據&#xff0c;進入一套“自動化”的城市整體管理體系中&#xff0c;交通路況信息、天氣變化情況以及城市大型活動安排等看似分散的數據被整合&#xff0c;根據預測的路況精準調控交通信號燈&#xff0c;讓自動駕駛清掃車…

每日總結3.24

第十屆藍橋杯大賽軟件賽省賽C/C 大學 B 組 183.完全二叉樹的權值&#xff08;找規律&#xff0c;臨界值&#xff09; #include <bits/stdc.h> using namespace std; int a[1000005]; int main() { int m;int d; cin>>m; int sum;int maxn0; for(int i1;i&…

計算機復試面試

數據庫 1.設計過程/設計步驟 1.需求分析&#xff1a;明確客戶需求&#xff0c;確定系統邊界&#xff0c;生成數據字典 2.概念結構設計&#xff1a;將用戶需求抽象為概念模型&#xff0c;繪制e-r圖 3.邏輯結構設計&#xff1a;將e-r圖轉化為dbms相符合的邏輯結構&#xff0c;db…

模型 拆屋效應

系列文章分享模型&#xff0c;了解更多&#x1f449; 模型_思維模型目錄。先過分后合理&#xff0c;易被接受。 1 拆屋效應的應用 1.1 高端手表銷售案例 一、案例背景 在高端手表銷售領域&#xff0c;銷售人員面臨顧客對價格敏感且購買決策謹慎的挑戰。如何引導顧客接受較高…

Windows系統下Pycharm+Minianaconda3連接教程【成功】

0.引言 PycharmMinianaconda3開發組合的好處 優點類別具體優點描述環境管理便捷獨立環境創建 環境復制與共享Miniconda3可創建多獨立Python環境&#xff0c;支持不同版本與依賴&#xff0c;避免沖突。 能復制、分享環境配置&#xff0c;方便團隊搭建相同開發環境。依賴管理高…

4、pytest常用插件

pytest 是一個功能非常強大的測試框架&#xff0c;支持豐富的插件系統。插件可以擴展 pytest 的功能&#xff0c;從而使測試過程更加高效和便捷。以下是一些常用的 pytest 插件及其作用&#xff1a; pytest-cov: 作用: 提供測試覆蓋率報告&#xff0c;幫助你了解代碼的表現情況…

python每日十題(10)

在Python語言中&#xff0c;源文件的擴展名&#xff08;后綴名&#xff09;一般使用.py。 保留字&#xff0c;也稱關鍵字&#xff0c;是指被編程語言內部定義并保留使用的標識符。Python 3.x有35個關鍵字&#xff0c;分別為&#xff1a;and&#xff0c;as&#xff0c;assert&am…

Clio:具備鎖定、用戶認證和審計追蹤功能的實時日志記錄工具

在網絡安全工具不斷發展的背景下&#xff0c;Clio 作為一款革命性的實時日志記錄解決方案&#xff0c;由 CyberLock Technologies 的網絡安全工程師開發&#xff0c;于 2025 年 1 月正式發布。這款先進的工具通過提供對系統事件的全面可見性&#xff0c;同時保持強大的安全協議…

內核編程十三:進程狀態詳解

進程如同數字世界中的生命體&#xff0c;誕生時被系統母體賦予初始資源&#xff0c;在CPU的脈搏中呼吸&#xff0c;于內存的疆域里生長。它睜開線程之眼觀察世界&#xff0c;伸出系統調用之手與環境互動&#xff0c;時而如幼童般單純執行指令&#xff0c;時而如哲人般陷入阻塞沉…

GitLab 中文版17.10正式發布,27項重點功能解讀【一】

GitLab 是一個全球知名的一體化 DevOps 平臺&#xff0c;很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab 是 GitLab 在中國的發行版&#xff0c;專門為中國程序員服務。可以一鍵式部署極狐GitLab。 學習極狐GitLab 的相關資料&#xff1a; 極狐GitLab 官網極狐…

哈爾濱工業大學DeepSeek公開課人工智能:大模型原理 技術與應用-從GPT到DeepSeek|附視頻下載方法

導 讀INTRODUCTION 今天繼續哈爾濱工業大學車萬翔教授帶來了一場主題為“DeepSeek 技術前沿與應用”的報告。 本報告深入探討了大語言模型在自然語言處理&#xff08;NLP&#xff09;領域的核心地位及其發展歷程&#xff0c;從基礎概念出發&#xff0c;延伸至語言模型在機器翻…