最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

FastJSON的0day漏洞的解決

 更新時(shí)間:2023年05月10日 09:12:23   作者:阿圓這個(gè)程序媛  
本文主要介紹了FastJSON的0day漏洞的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、問(wèn)題背景

fastjson是阿里巴巴的開(kāi)源JSON解析庫(kù),它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean,由于具有執(zhí)行效率高的特點(diǎn),應(yīng)用范圍很廣

2019年6月22日,阿里云云盾應(yīng)急響應(yīng)中心監(jiān)測(cè)到FastJSON存在0day漏洞,攻擊者可以利用該漏洞繞過(guò)黑名單策略進(jìn)行遠(yuǎn)程代碼執(zhí)行

關(guān)于fastjson javaweb框架的0day漏洞情報(bào),由于fastjson在進(jìn)行實(shí)例化對(duì)象時(shí)沒(méi)有對(duì)輸入數(shù)據(jù)進(jìn)行嚴(yán)格限制,攻擊者只要精心構(gòu)造json數(shù)據(jù),即可造成遠(yuǎn)程代碼執(zhí)行,截止到發(fā)稿日,關(guān)于該漏洞的利用方式暫未公開(kāi),請(qǐng)相關(guān)用戶(hù)及時(shí)進(jìn)行防護(hù)。

2019年6月22日,阿里云云盾應(yīng)急響應(yīng)中心監(jiān)測(cè)到FastJSON存在0day漏洞,攻擊者可以利用該漏洞繞過(guò)黑名單策略進(jìn)行遠(yuǎn)程代碼執(zhí)行。

1.1、漏洞名稱(chēng)

FastJSON遠(yuǎn)程代碼執(zhí)行0day漏洞

1.2、漏洞描述

利用該0day漏洞,惡意攻擊者可以構(gòu)造攻擊請(qǐng)求繞過(guò)FastJSON的黑名單策略。例如,攻擊者通過(guò)精心構(gòu)造的請(qǐng)求,遠(yuǎn)程讓服務(wù)端執(zhí)行指定命令(以下示例中成功運(yùn)行計(jì)算器程序)。

1.3、影響范圍

  • FastJSON 1.2.30及以下版本
  • FastJSON 1.2.41至1.2.45版本

1.4、官方解決方案

升級(jí)至FastJSON最新版本,建議升級(jí)至1.2.58版本。

說(shuō)明 強(qiáng)烈建議不在本次影響范圍內(nèi)的低版本FastJSON也進(jìn)行升級(jí)。

升級(jí)方法

您可以通過(guò)更新Maven依賴(lài)配置,升級(jí)FastJSON至最新版本(1.2.58版本)。

<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>fastjson</artifactId>
 <version>1.2.58</version>
</dependency>

1.5、防護(hù)建議

(1)Web應(yīng)用防火墻

Web應(yīng)用防火墻的Web攻擊防護(hù)規(guī)則中已默認(rèn)配置相應(yīng)規(guī)則防護(hù)該FastJSON 0day漏洞,啟用Web應(yīng)用防火墻的Web應(yīng)用攻擊防護(hù)功能即可。

說(shuō)明 如果您的業(yè)務(wù)使用自定義規(guī)則組功能自定義所應(yīng)用的防護(hù)規(guī)則,請(qǐng)務(wù)必在自定義規(guī)則組中添加以下規(guī)則:

(2)WAF自定義防護(hù)規(guī)則

FastJson是阿里的一個(gè)開(kāi)源Json解析庫(kù),可以將數(shù)據(jù)在JSON和Java Object之間互相轉(zhuǎn)換,此前曾被爆出存在反序列化漏洞。為預(yù)防FastJson庫(kù)存在0day漏洞,現(xiàn)提供兩條自定義規(guī)則,可根據(jù)情況選擇一個(gè)添加。也可以同時(shí)添加兩個(gè),如果有誤報(bào),再取消。此自定義規(guī)則主要針對(duì)存在JAVA系統(tǒng)并使用了該庫(kù)的客戶(hù)。

自定義規(guī)則--精準(zhǔn)防護(hù)

檢測(cè)對(duì)象>request_body

匹配操作>正則包含

檢測(cè)值>['"]\s*@type\s*['"].*?(com\.(sun|mchange)|org\.(apache|codehaus|hibernate|jboss|mozilla|python)|java\.(lang\.Thread|net\.Socket|rmi)|javax\.xml|bsh)

自定義規(guī)則--暴力防護(hù)

檢測(cè)對(duì)象>request_body

匹配操作>正則包含

檢測(cè)值>['"]\s*@type\s*['"]

TAM關(guān)于fastjson javaweb框架0day漏洞回溯和實(shí)時(shí)檢測(cè)

ssh后臺(tái)執(zhí)行(后臺(tái)執(zhí)行速度相對(duì)比較快,推薦此方式)

  • 確定Spark組件位置:點(diǎn)擊BSA首頁(yè)右上角齒輪,選擇集群管理,進(jìn)入組件,點(diǎn)擊查看Spark組件
  • 記錄下主機(jī)名稱(chēng),例如bsa12
  • ssh登陸B(tài)SA后臺(tái),執(zhí)行如下命令(將SparkSqlServer主機(jī)地址替換至綠色背景,然后復(fù)制該命令并且回車(chē)):
    先切換bsauser賬號(hào) su – bsauser
    然后執(zhí)行

    ./spark-1.3.0-bin-hadoop2.4/bin/beeline -u jdbc:hive2://bsa12:10000 --verbose=true --showHeader=true --outputformat=tsv2 --color=true -e "select sip, dip, from_unixtime(timestamp) as timestamp, ret_code, host, uri, post_data from internal_app_bsatam2.tam_httplog where ns_date>=20190610 and (post_data rlike '@type' or uri rlike '@type');" > fastjson_export.csv

    等待上述任務(wù)執(zhí)行完成之后,如果當(dāng)前目錄下有fastjson _export.csv文件且文件中有內(nèi)容時(shí),說(shuō)明20190610至今的歷史流量中出現(xiàn)過(guò)fastjson漏洞攻擊。

tam界面執(zhí)行自定義查詢(xún)(當(dāng)無(wú)法ssh后臺(tái)時(shí),可在TAM的界面上操作。相比后臺(tái)執(zhí)行稍慢,不推薦)

  • 進(jìn)入挖掘檢索—自定義查詢(xún)—新建查
  • 將上述下列SQL粘貼至下圖所示位置:

    select sip, dip, from_unixtime(timestamp) as timestamp, ret_code, host, uri, post_data from internal_app_bsatam2.tam_httplog where ns_date>=20190610 and (post_data rlike '@type' or uri rlike '@type')
  • 點(diǎn)擊校驗(yàn)。耐心等待校驗(yàn)成功后繼續(xù)點(diǎn)擊新建。完成后點(diǎn)擊之后,點(diǎn)擊下圖所示位置開(kāi)始執(zhí)行

實(shí)時(shí)監(jiān)控

Tam自定義場(chǎng)景監(jiān)控可用于實(shí)時(shí)監(jiān)測(cè),當(dāng)UTS上沒(méi)有配置該規(guī)則時(shí),使用TAM的自定義場(chǎng)景的檢測(cè)功能:

  • 進(jìn)入場(chǎng)景管理—場(chǎng)景配置—自定義場(chǎng)景。選擇規(guī)則, “fastjson遠(yuǎn)程代碼執(zhí)行漏洞利用檢測(cè)”配置如下
  • 將下列SQL粘貼至規(guī)則輸入

    select sip, dip, timestamp as start_time, timestamp as end_time, ret_code as info3, concat(host, uri) as infos, post_data as info2, timestamp as end_time from internal_app_bsatam2.tam_httplog where post_data rlike '@type' or uri rlike '@type')

問(wèn)題補(bǔ)充:

該缺陷是因舊缺陷修復(fù)方案引起,原因如下:

在fastjson 1.2.24版本之前(包括1.2.24版本),fastjson 在使用JSON.parseObject方法時(shí),由于使用泛型(Object.class)反序列化的場(chǎng)景時(shí),存在惡意構(gòu)造序列化內(nèi)容造成執(zhí)行服務(wù)器命令。即在遠(yuǎn)程服務(wù)器場(chǎng)景,如果使用fastjson做為遠(yuǎn)程報(bào)文內(nèi)容反序列化,且泛型使用,則存在期可能。

在1.2.24版本之后該缺陷已修復(fù),修復(fù)方案采用默認(rèn)關(guān)閉autoType,即自動(dòng)泛型反序列化,且如果打開(kāi)autoType,也加入了黑名單,對(duì)存在易被利用攻擊的類(lèi)進(jìn)行了黑名單處理。這次漏洞風(fēng)險(xiǎn)內(nèi)容為:打開(kāi)了autoType的情況下,可以通過(guò)0day漏洞繞過(guò)黑名單。繞過(guò)的方式,暫時(shí)不詳。

到此這篇關(guān)于FastJSON的0day漏洞的解決的文章就介紹到這了,更多相關(guān)FastJSON的0day漏洞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot?整合?Grizzly的過(guò)程

    SpringBoot?整合?Grizzly的過(guò)程

    Grizzly?是一個(gè)高性能的、異步的、非阻塞的?HTTP?服務(wù)器框架,它可以與?Spring?Boot?一起提供比傳統(tǒng)的?Tomcat?或?Jetty?更高的吞吐量和更低的延遲,這篇文章主要介紹了SpringBoot?整合?Grizzly的過(guò)程,需要的朋友可以參考下
    2025-01-01
  • 淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)

    淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)

    本篇文章主要為大家介紹了Java?NIO?中直接緩沖區(qū)和非直接緩沖區(qū)的定義以及使用流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • 關(guān)于Java中HashCode方法的深入理解

    關(guān)于Java中HashCode方法的深入理解

    這篇文章主要給大家介紹了關(guān)于Java中HashCode方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 超個(gè)性修改SpringBoot項(xiàng)目的啟動(dòng)banner的方法

    超個(gè)性修改SpringBoot項(xiàng)目的啟動(dòng)banner的方法

    這篇文章主要介紹了超個(gè)性修改SpringBoot項(xiàng)目的啟動(dòng)banner的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java大小寫(xiě)轉(zhuǎn)換及一些常見(jiàn)的注意事項(xiàng)詳解

    Java大小寫(xiě)轉(zhuǎn)換及一些常見(jiàn)的注意事項(xiàng)詳解

    這篇文章主要介紹了Java大小寫(xiě)轉(zhuǎn)換及一些常見(jiàn)的注意事項(xiàng)的相關(guān)資料,Java提供了多種方法進(jìn)行大小寫(xiě)轉(zhuǎn)換,包括String類(lèi)的toLowerCase和toUpperCase方法,以及Character類(lèi)的toLowerCase和toUpperCase方法,需要的朋友可以參考下
    2025-02-02
  • 一文搞懂SpringMVC中@InitBinder注解的使用

    一文搞懂SpringMVC中@InitBinder注解的使用

    @InitBinder方法可以注冊(cè)控制器特定的java.bean.PropertyEditor或Spring Converter和 Formatter組件。本文通過(guò)示例為大家詳細(xì)講講@InitBinder注解的使用,需要的可以參考一下
    2022-06-06
  • Java?GenericObjectPool?對(duì)象池化技術(shù)之SpringBoot?sftp?連接池工具類(lèi)詳解

    Java?GenericObjectPool?對(duì)象池化技術(shù)之SpringBoot?sftp?連接池工具類(lèi)詳解

    這篇文章主要介紹了Java?GenericObjectPool?對(duì)象池化技術(shù)之SpringBoot?sftp?連接池工具類(lèi)詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • mybatis注解如何實(shí)現(xiàn)對(duì)象批量更改

    mybatis注解如何實(shí)現(xiàn)對(duì)象批量更改

    這篇文章主要介紹了mybatis注解實(shí)現(xiàn)對(duì)象批量更改的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Struts2源碼分析之ParametersInterceptor攔截器

    Struts2源碼分析之ParametersInterceptor攔截器

    這篇文章主要介紹了Struts2源碼分析之ParametersInterceptor攔截器,ParametersInterceptor攔截器其主要功能是把ActionContext中的請(qǐng)求參數(shù)設(shè)置到ValueStack中,,需要的朋友可以參考下
    2019-06-06
  • Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    這篇文章主要介紹了Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論

渭源县| 称多县| 平昌县| 铅山县| 新巴尔虎左旗| 平阳县| 兰西县| 沾益县| 崇文区| 邹城市| 德庆县| 廊坊市| 兰考县| 德庆县| 谷城县| 肥西县| 汤阴县| 遂川县| 绥滨县| 桂东县| 静乐县| 宜川县| 吴桥县| 城口县| 固阳县| 西畴县| 铜山县| 合作市| 深圳市| 婺源县| 枝江市| 左权县| 慈利县| 榆树市| 曲沃县| 南京市| 两当县| 绥宁县| 八宿县| 嘉义县| 宁陵县|