java漏洞近幾年出現最多的就是java反序列化漏洞,關於反序列化漏洞到底是什麼?通俗
的來講,序列化其實就是一個能讓JAVA對像擺脫JAVA環境的一個序列化方式,序列化可以用來
跟很多平台進行遠程通信以及數據的安全存儲。JAVA在使用對象的同時,會利用readobject的方
式去將其他平台傳輸來的數據轉變成JAVA認可的一個對象,那麼在轉變過程中,其他平台傳輸的
數據就可以被攻擊者利用,篡改或者構造sql注入語句,以及惡意的代碼,來讓JAVA進行轉變並執
行惡意的代碼,並上傳後門並控制java整個網站的權限。
java漏洞檢測代碼如下圖:
我們可以看出上面的漏洞代碼,從其他平台傳輸過來的數據,經過JAVA反序列化為JAVA的通用
對象,在調用轉變的過程中看下是否調用了第三方的庫如:commons-collections 3.1、commons
-fileupload 1.3.1 這三個庫,如果調用了這三種庫的任意一種,那麼入侵者就會構造漏洞POC來
執行任意的代碼,像webshell,以及讀取網站配置文件代碼,上傳任意文件的代碼等等的惡意代
碼。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全檢測、網站漏洞修復,滲透
測試,安全服務於一體的網絡安全服務提供商。
對象,在調用轉變的過程中看下是否調用了第三方的庫如:commons-collections 3.1、commons
-fileupload 1.3.1 這三個庫,如果調用了這三種庫的任意一種,那麼入侵者就會構造漏洞POC來
執行任意的代碼,像webshell,以及讀取網站配置文件代碼,上傳任意文件的代碼等等的惡意代
碼。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全檢測、網站漏洞修復,滲透
測試,安全服務於一體的網絡安全服務提供商。
那麼該如何檢測java代碼的安全呢? 是否存在JAVA反序列化漏洞呢?
反序列化的漏洞通常在第三方平台數據的傳輸,以及網站的模板文件,對象的安全存儲,中出現,
那麼我們就可以針對網站代碼,進行詳細的網站漏洞檢測,對使用該功能的代碼進行審計,檢測
JAVA的函數並對數據的數值是否過濾惡意代碼。esafe安全公司是一家專注於:主機安全、網站
安全、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。
那麼我們就可以針對網站代碼,進行詳細的網站漏洞檢測,對使用該功能的代碼進行審計,檢測
JAVA的函數並對數據的數值是否過濾惡意代碼。esafe安全公司是一家專注於:主機安全、網站
安全、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。
java反序列化漏洞修復方案
對使用反序列化的代碼以及對象可以設置安全的白名單,針對於第三方的API庫設
置安全黑名單禁止接口使用反序列化服務,可以通過HOOK安全函數進行過濾實現安
全白名單系統,如下圖所示:
JAVA也可以升級第三方庫到最新版本。