Fastjson漏洞修復參考


漏洞背景

Fastjson是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。

Fastjson多處補丁修補出現紕漏,Fastjson在1.2.68版本以下,無需Autotype開啟,或者可繞過autoType限制,攻擊者即可通過精心構造的請求包在使用Fastjson的服務器上進行遠程代碼執行。

受影響的版本:

fastjson <=1.2.68

fastjson sec版本 <= sec9

1. 漏洞危害

惡意攻擊者可以利用漏洞攻擊做到:

1、執行遠程命令,獲取服務數據

2、執行遠程命令,植入后門,控制服務器

2. 修復思路

1.升級至安全版本.

2.對fastjson進行一定的安全加固措施

3.采用其他json處理組件替換,jackson-databind漏洞也頻發,建議使用Gson

4.使用WAF緊急漏洞攔截,再升級到安全版本

3. 代碼修復

1.升級至安全版本,參考下載鏈接:https://repo1.maven.org/maven2/com/alibaba/fastjson/

2.對fastjson進行一定的安全加固措施

fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,無論白名單和黑名單,都不支持autoType,可一定程度上緩解反序列化Gadgets類變種攻擊(關閉autoType注意評估對業務的影響)

開啟方法參考:

打開SafeMode功能

在1.2.68之后的版本,在1.2.68版本中,fastjson增加了safeMode的支持。safeMode打開后,完全禁用autoType。所有的安全修復版本sec10也支持SafeMode配置。

有三種方式配置SafeMode,如下:

A.在代碼中配置
ParserConfig.getGlobalInstance().setSafeMode(true);
B.加上JVM啟動參數
-Dfastjson.parser.safeMode=true
如果有多個包名前綴,用逗號隔開

C.通過fastjson.properties文件配置。

通過類路徑的fastjson.properties文件來配置,配置方式如下:
fastjson.parser.safeMode=true

3.采用其他json處理組件替換,jackson-databind漏洞也頻發,建議使用Gson


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM