<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    某次紅藍對抗之Solr-RCE實戰繞過

    VSole2023-03-24 10:33:47

    0x01 前言

    在某次紅藍對抗過程中,要結束的時候突然發現了掃描器爆出了Solr-RCE-CVE-2019-0192漏洞。

    但是進行測試過程中發現存在各種各樣的問題。

    0x02 繞過1

    進行測試,發現目標只可以執行單命令,返回字段比較少的命令。

    whoami
    ipconfig
    

    執行dir,無法執行。

    注:想著直接執行ps直接上線就好了,各種嘗試之后,后知后覺發現對方不出網

    0x03 寫Webshell

    發現目標不出網的時候,只有寫webshell這一條路子可以走了。但是目標只能執行個別命令還無法解決。

    dir無法執行,陷入了沉思,加入單雙引號也不行。根據以前的內網經驗是不是系統無法默認調用到dir.exe。

    那么 cmd /c dir是不是可以。

    驚奇的發現,可以完美的執行命令。通過dir找到目錄進行寫馬嘗試。

    但是發現目標路由規則寫死了,無法直接訪問到.jsp的文件。

    剛開始以為是根目錄的問題,發現不止根目錄,常用的css/js和img下面的也不行。

    后續在webshell中看到,翻文件看到了有類似路由機制的驗證

    0x04 言歸正傳

    在執行rce的時候,找到了solr的目錄,發現這里的.jsp是沒有這個驗證的。

    利用命令執行進行找到該位置,進行寫文件。問題來了。echo 寫入一直無法寫入。。

    問題解決:把這里的特殊字符進行編碼后即可成功寫入。

    又遇到一個問題,jsp的馬子都有%號,這里不論怎么做 %就是寫不進去。差點放棄,找不到不帶%的馬子。

    0x05 柳暗花明

    但是想到了上午利用過的Certutil可以進行編碼解碼,這樣就沒有特殊字符了。

    完全沒問題,剛開始一點一點追加,發現下面的會寫進去兩行

    看了一下就最后有一個+號,沒有特殊字符,全部直接寫進去。

    然后decode進行解碼,完美。

    訪問但是是500,不過確很開心,因為確實寫上來。

    接下來解決為啥500就可以了,type 123.jsp查看一下。

    發現最后decode的時候,少了一個>,本地測試,是沒有這個問題的。可能是目標一次性字符長度的問題。

    這里很簡單了,追加一下就可以了。

    連接成功

    0x06 驗證

    webshell特殊字符
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    當我們找到一個rce漏洞卻無法反彈shell時,在web路徑寫webshell用連接工具進行管理會方便的多,本文總結從命令執行到webshell的流程化操作。 尋找web路徑
    前言提到webshell免殺,方法無外乎對靜態特征的變形,編碼,或利用語言特性繞過。計算機中有很多符號,它們在編程語言中占據一席之地,這些符號作為運算符號,標識符號或起到特殊含義。本文以PHP為例介紹一些利用符號免殺方法。免殺WAF檢測通過對安全狗、護衛神、D盾等常見軟WAF的測試,發現WAF查殺主要依賴兩種檢測方法1.靜態檢測:通過匹配特征來查找webshell。如危險函數,文件特征碼等。例如 ${$my_var[8]}與${$my_var}[8]的區分${xxx} 括起來的要當成變量處理。
    傳統的php免殺不用多說了 無非就是各種變形和外部參數獲取,對于一些先進的waf和防火墻來說,不論如何解析最終都會到達命令執行的地方,但是如果語法報錯的話,就可能導致解析失敗了,這里簡單說幾個利用php版本來進行語義出錯的php命令執行方式。
    傳統的php免殺不用多說了,無非就是各種變形和外部參數獲取,對于一些先進的waf和防火墻來說,不論如何解析最終都會到達命令執行的地方,但是如果語法報錯的話,就可能導致解析失敗了,這里簡單說幾個利用php版本來進行語義出錯的php命令執行方式。
    0x01 php的免殺傳統的php免殺不用多說了,無非就是各種變形和外部參數獲取,對于一些先進的waf和防火墻來說,不論如何解析最終都會到達命令執行的地方,但是如果語法報錯的話,就可能導致解析失敗了,這里簡單說幾個利用php版本來進行語義出錯的php命令執行方式。
    寫在前面關于無字母數字Webshell這個話題,可以說是老生常談了。之前打 CTF 的時候也經常會遇到,每次都讓人頭大,所謂無字符webshell,其基本原型就是對以下代碼的繞過:
    避免網站顯示SQL錯誤信息,比如類型錯誤、字段不匹配等,防止攻擊者利用這些錯誤信息進行一些判斷。
    apache一些樣例文件沒有刪除,可能存在cookie、session偽造,進行后臺登錄操作
    0x01 前言在某次紅藍對抗過程中,要結束的時候突然發現了掃描器爆出了Solr-RCE-CVE-2019-0192漏洞。但是進行測試過程中發現存在各種各樣的問題。0x02 繞過1進行測試,發現目標只可以執行單命令,返回字段比較少的命令。但是發現目標路由規則寫死了,無法直接訪問到.jsp的文件。又遇到一個問題,jsp的馬子都有%號,這里不論怎么做 %就是寫不進去。接下來解決為啥500就可以了,type 123.jsp查看一下。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类