国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

這篇具有很好參考價值的文章主要介紹了漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目介紹

YAML是一種數(shù)據(jù)序列化格式,設計用于人類的可讀性和與腳本語言的交互。

SnakeYaml是一個完整的YAML1.1規(guī)范Processor,支持UTF-8/UTF-16,支持Java對象的序列化/反序列化,支持所有YAML定義的類型。

項目地址

https://github.com/snakeyaml/snakeyaml

漏洞概述

SnakeYaml通常使用方法如下:

new Yaml(new Constructor(TestDataClass.class)).load(yamlContent);

默認情況下,SnakeYaml在解析用戶提供惡意yamlContent時,即使yamlContent不滿足TestDataClass類型,也會執(zhí)行惡意代碼。

影響版本

Snakeyaml 全版本

環(huán)境搭建

導入存在漏洞的Snakeyaml組件并編寫demo測試即可

漏洞復現(xiàn)

下面demo通過反序列化一個惡意類,該惡意類可以請求遠程jar文件并實例化。

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

漏洞分析

該漏洞并不被官方認可,官方認為通過yaml文件反序列化對象是正常功能并不會修復。

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

這里我僅對snakeyaml反序列化的流程進行分析,為了簡潔易懂,下面僅列舉關鍵代碼:

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

上述代碼需要層層展開,簡單說就是根據(jù)snakeyaml的構造器解析yaml文件內(nèi)容并返回對應實例。下面對實例化的關鍵步驟展開介紹:

  1. 獲取構造器

在下面代碼中根據(jù)節(jié)點獲取對應的類并從yamlClassConstructors中獲得對應的構造器。

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

這里的Constructor有三種類型,分別對應不同的yaml

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

2. 實例化對象

獲得構造器后就是裝配對象。這里僅分析ConstructSequence。在下面代碼中,根據(jù)節(jié)點的不同類型分別進行處理。

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

如果不是上述三種基本類型,那么獲取默認的構造函數(shù)并遞歸構造參數(shù)節(jié)點

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

最后通過反射初始化實例

漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞

?

以上梳理了snakeyaml大概的反序列化流程。當yaml可以被攻擊者控制時,通過傳入惡意的yaml內(nèi)容就可以實例化任意對象,從而造成命令執(zhí)行。

修復方式

在參考鏈接中,官方認為snakeyaml的使用場景僅接收可信的數(shù)據(jù)源,因此不認為cve-2022-1471是漏洞,因此目前還沒有修復,后續(xù)可能也不會修復。這里建議開發(fā)人員排查snakeyaml的使用情況,判斷是否接收外部數(shù)據(jù),并加入new SafeConstructor()類進行過濾,如下:

Yaml yaml = new Yaml(new SafeConstructor());

參考鏈接

snakeyaml / snakeyaml / issues / #561 - CVE-2022-1471 (vulnerability in deserialization) — Bitbucket

https://github.com/advisories/GHSA-mjmj-j48q-9wg2

https://nvd.nist.gov/vuln/detail/CVE-2022-1471文章來源地址http://www.zghlxwxcb.cn/news/detail-426548.html

到了這里,關于漏洞深度分析|CVE-2022-1471 SnakeYaml 命令執(zhí)行漏洞的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 漏洞復現(xiàn):Apache Spark 命令注入(CVE-2022-33891)

    漏洞復現(xiàn):Apache Spark 命令注入(CVE-2022-33891)

    ? Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎。Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用并行框架,Spark,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是——Job中間輸出結果可以保存在內(nèi)存中,從而不再需

    2024年02月09日
    瀏覽(17)
  • Spring Rce 漏洞分析CVE-2022-22965

    Spring Rce 漏洞分析CVE-2022-22965

    Spring Framework 是一個開源的輕量級J2EE應用程序開發(fā)框架。 3月31日,VMware發(fā)布安全公告,修復了Spring Framework中的遠程代碼執(zhí)行漏洞(CVE-2022-22965)。在 JDK 9 及以上版本環(huán)境下,可以利用此漏洞在未授權的情況下在目標系統(tǒng)上寫入惡意程序從而遠程執(zhí)行任意代碼。 影響組件:

    2024年02月05日
    瀏覽(18)
  • 網(wǎng)絡靶場實戰(zhàn)-RouterOS漏洞分析(CVE-2022-45315)

    網(wǎng)絡靶場實戰(zhàn)-RouterOS漏洞分析(CVE-2022-45315)

    本環(huán)境是蛇矛實驗室基于\\\"火天網(wǎng)演攻防演訓靶場\\\"進行搭建,通過火天網(wǎng)演中的環(huán)境構建模塊,可以靈活的對目標網(wǎng)絡進行設計和配置,并且可以快速進行場景搭建和復現(xiàn)驗證工作。火天網(wǎng)演中,內(nèi)置大量固件設備,包含大型網(wǎng)絡設備及物聯(lián)網(wǎng)設備,可以靈活選取進行測試驗

    2024年02月11日
    瀏覽(45)
  • Django SQL注入漏洞分析(CVE-2022-28346)

    Django 在2022年發(fā)布的安全更新,修復了在 QuerySet 的 annotate(), aggregate(), extra() 等函數(shù)中存在的 SQL 注入漏洞。 2.2= Django Django 2.2.28?3.2= Django Django 3.2.13?4.0= Django Django 4.0.4 需要使用了 annotate 或者 aggregate 或 extra 方法 利用 pycharm 創(chuàng)建一個 python 項目 ? 創(chuàng)建完成項目后在 Setti

    2024年02月03日
    瀏覽(24)
  • MICROSOFT OFFICE MSDT操作系統(tǒng)命令注入漏洞(CVE-2022-30190)

    MICROSOFT OFFICE MSDT操作系統(tǒng)命令注入漏洞(CVE-2022-30190)

    目錄 漏洞概述 受到影響的產(chǎn)品和版本 漏洞復現(xiàn) 1、搭建靶場 2、攻擊復現(xiàn) 一、執(zhí)行系統(tǒng)程序 二、執(zhí)行系統(tǒng)命令 修復 Microsoft Windows Support Diagnostic Tool是美國微軟(Microsoft)公司的收集信息以發(fā)送給 Microsoft 支持的工具(Windows上的微軟支持診斷工具中存在此漏洞)。當從Word等

    2024年02月06日
    瀏覽(19)
  • Docker Dirtypipe(CVE-2022-0847)漏洞復現(xiàn)與分析容器逃逸

    同臟牛,通過寫只讀內(nèi)存,對映射的內(nèi)存做篡改 GitHub - greenhandatsjtu/CVE-2022-0847-Container-Escape: CVE-2022-0847 used to achieve container escape 利用CVE-2022-0847 (Dirty Pipe) 實現(xiàn)容器逃逸 云原生之容器安全實踐-安全客 - 安全資訊平臺 (anquanke.com) 從臟管道(CVE-2022-0847)到docker逃逸 - 先知社區(qū) (aliy

    2024年02月13日
    瀏覽(37)
  • CVE-2022-42889 Apache Commons Text RCE漏洞分析

    CVE-2022-42889 Apache Commons Text RCE漏洞分析

    最近一直在對剛研發(fā)出來的自動化Web/API漏洞Fuzz的命令行掃描工具進行維護更新(工具地址:https://github.com/StarCrossPortal/scalpel),目前掃描工具已更新至第三個版本,新增了5條2022年CVE漏洞POC,修復了例如Content- Type和body類型不一致等問題。最新版本測試穩(wěn)定,滿足Web/API的漏洞

    2024年02月13日
    瀏覽(25)
  • 【Linux系統(tǒng)進階詳解】Linux核心命令深度實戰(zhàn)實現(xiàn)原理詳解和每個命令使用場景以及實例分析

    在Linux系統(tǒng)中, find 、 xargs 、 sed 、 grep 、正則表達式和通配符是非常常用的命令和技巧。它們可以結合使用,實現(xiàn)更復雜的文件查找、過濾和操作。下面將詳細介紹它們的實現(xiàn)原理和使用場景。 find命令 ``find`命令通過遍歷指定目錄及其子目錄來查找符合條件的文件或目錄。

    2024年02月08日
    瀏覽(29)
  • 【linux命令講解大全】045.網(wǎng)絡數(shù)據(jù)分析利器:深度解讀 tcpdump 抓包工具的使用方法

    tcpdump是一款在Linux上的抓包工具,用于嗅探網(wǎng)絡數(shù)據(jù)。 補充說明 tcpdump命令是一款抓包、嗅探器工具。它可以打印所有經(jīng)過網(wǎng)絡接口的數(shù)據(jù)包的頭信息,并可使用-w選項將數(shù)據(jù)包保存到文件中,以便以后進行分析。 語法 選項 -a:嘗試將網(wǎng)絡和廣播地址轉換成名稱 -c 數(shù)據(jù)包數(shù)

    2024年02月10日
    瀏覽(46)
  • CVE-2022-30190分析以及復現(xiàn)和POC利用 //Microsoft Office MSDT 遠程代碼執(zhí)行漏洞

    CVE-2022-30190分析以及復現(xiàn)和POC利用 //Microsoft Office MSDT 遠程代碼執(zhí)行漏洞

    在微軟官方的介紹里,是從 Word 等調(diào)用應用程序使用 URL 協(xié)議調(diào)用 MSDT 時存在遠程執(zhí)行代碼漏洞。成功利用此漏洞的攻擊者可以使用調(diào)用應用程序的權限運行任意代碼。 意思是惡意 Word 文檔可以使用遠程模板功能從遠程服務器獲取 HTML 文件,并且 HTML 代碼可以使用 Microsoft 的

    2024年02月04日
    瀏覽(69)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包