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

    【最新漏洞預警】CVE-2021-2471-MySQL JDBC XXE漏洞分析與概念驗證

    VSole2021-10-21 22:48:40

    漏洞概述

    MySQL JDBC是Oracle開發的針對MySQL數據庫操作的統一接口。近日網上爆出了MySQL JDBC存在XXE漏洞,漏洞編號為CVE-2021-2471,影響MySQL JDBC v8.0.27版本之前版本。看到漏洞信息后,第一時間查看了相關信息,官方把漏洞復現部分打上了馬賽克,在對該漏洞進行簡單分析后,發現整個過程其實比較簡單,自己做了一個概念驗證,這里分享給大家。

    漏洞分析

    0x01 環境構建

    構建研究環境,分別下載MySQL JDBC v8.0.26和MySQL JDBC v8.0.27兩個版本。

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version></dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.27</version></dependency>
    

    0x02 補丁對比

    既然是XXE漏洞,那么我們可以重點關注處理XML的部分,通過分析定位`com.mysql.cj.jdbc.MysqlSQLXML#getSource`函數:

    v8.0.27版本在XML處理前設置一堆setFeature來防止出現XXE漏洞。

    0x03 構造分析

    切換為v8.0.26版本,`com.mysql.cj.jdbc.MysqlSQLXML`類繼承于`SQLXML`,查閱關于`SQLXML`的一些用法:

    sqlxml
    https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlxml.htm

    實例化`Connection`數據庫連接對象,通過`createSQLXML`函數創建一個`SQLXML`對象:

    調用`SQLXML#setString`函數完成`stringRep`變量賦值:

    然后查看漏洞函數`getSource`:

    當輸入參數為`DOMSource.class`時,`stringRep`會被帶入并完成XML解析,從而導致出現XXE漏洞。

    概念驗證


    由于傳播、利用此文檔提供的信息而造成任何直接或間接的后果及損害,均由使用本人負責,文章作者不為此承擔任何責任。

    mysqljdbc
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    MYSQL JDBC XXE漏洞分析
    2021-10-26 09:02:17
    最近 JDBC爆了一個XXE漏洞,很久沒有分析漏洞了,趁著周末沒事分析下這個漏洞。 分析 10月21日,”阿里云應急響應”公眾號發布Oracle Mysql JDBC存在XXE漏洞,造成漏洞的原因主要是因為getSource方法未對傳入的XML格式數據進行檢驗。導致攻擊者可構造惡意的XML數據引入外部實體。造成XXE攻擊。
    阿里云安全團隊向Oracle官方報告了MySQL JDBC XXE漏洞
    近日,安識科技A-Team團隊監測到一則Oracle MySQL組件在JDBC過程中存在XML外部實體注入漏洞的信息,當前官方已發布受影響的補丁。 對此,安識科技建議廣大用戶及時升級到安全版本,并做好資產自查以及預防工作,以免遭受黑客攻擊。
    漏洞概述MySQL JDBC是Oracle開發的針對MySQL數據庫操作的統一接口。近日網上爆出了MySQL JDBC存在XXE漏洞,漏洞編號為CVE-2021-2471,影響MySQL JDBC v8.0.27版本之前版本。
    假設Mysql中canal_test庫下有一張表policy_cred,需要統計實時統計policy_status狀態為1的mor_rate的的變化趨勢,并標注比率的風險預警等級。?本次安裝的canal版本為1.1.2,Canal版本最后在1.1.1之后。server端采用MQ模式,MQ選用Kafka。服務器系統為Centos
    前言作為一個資深后端碼農天天都要和數據庫打交道,最早使用的是 Hiberate,一個封裝性極強的持久性框架。自從接觸到 Mybatis 就被它的靈活性所折服了,可以自己寫 SQL,雖然輕量級,但是麻雀雖小,五臟俱全。這篇文章就來講講什么是 Mybatis,如何簡單的使用 Mybatis。
    任務模塊專注于任務的執行等操作,開發和維護更加簡單和高效;接收“調度中心”的執行請求、終止請求和日志請求等。XXL-JOB的不同任務之間并行調度、并行執行。同時支持任務終止。當任務”路由策略”選擇”故障轉移”時,當調度中心每次發起調度請求時,會按照順序對執行器發出心跳檢測請求,第一個檢測為存活狀態的執行器將會被選定并發送調度請求。
    經常會遇到這樣一種情況:項目的配置文件中總有一些敏感信息,比如數據源的url、用戶名、密碼....這些信息一旦被暴露那么整個數據庫都將會被泄漏,那么如何將這些配置隱藏呢?今天介紹一種方案,讓你在無感知的情況下實現配置文件的加密、解密。
    前言因工作需要,需要調研WAF和IDS產品,我經過調研選擇了Modsecurity作為Web端的防火墻防護軟件和Suricata作為tcp和udp層的防護,并且通過logstash將結果輸出到elasticsearch中進行分析。
    Apache Log4j2是一款優秀的Java日志框架,最近爆出了一個jndi注入的漏洞,影響面非常廣,各大廠商都被波及。Log4j2作為日志記錄的第三方庫,被廣泛得到使用,這次主要分享一下,最近的一些調試記錄。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类