java反序列化漏洞检测与修复方案详情



          java漏洞近几年出现最多的就是java反序列化漏洞,关于反序列化漏洞到底是什么?通俗

的来讲,序列化其实就是一个能让JAVA对象摆脱JAVA环境的一个序列化
方式,序列化可以用来

跟很多平台进行远程通信以及数据的安全存储。JAVA在使用
对象的同时,会利用readobject的方

式去将其他平台传输来的数据转变成JAVA认可
的一个对象,那么在转变过程中,其他平台传输的

数据就可以被攻击者利用,篡改
或者构造sql注入语句,以及恶意的代码,来让JAVA进行转变并执

行恶意的代码,
并上传后门并控制java整个网站的权限。
 
 
java漏洞检测代码如下图:
 

 
我们可以看出上面的漏洞代码,从其他平台传输过来的数据,经过JAVA反序列化为JAVA的通用

对象,在调用转变的过程中看下是否调用了第三方的库如:commons-
collections 3.1、commons

-fileupload 1.3.1 这三个库,如果调用了这三种库的
任意一种,那么入侵者就会构造漏洞POC来

执行任意的代码,像webshell,以及读
取网站配置文件代码,上传任意文件的代码等等的恶意代

码。Sine安全公司是一家
专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透

测试,安全服
务于一体的网络安全服务提供商。
 
 
那么该如何检测java代码的安全呢? 是否存在JAVA反序列化漏洞呢?
 
反序列化的漏洞通常在第三方平台数据的传输,以及网站的模板文件,对象的安全存储,中出现,

那么我们就可以针对网站代码,进行详细的网站漏洞检测,对使用
该功能的代码进行审计,检测

JAVA的函数并对数据的数值是否过滤恶意代码。Sine
安全公司是一家专注于:服务器安全、网站

安全、网站安全检测、网站漏洞修复,
渗透测试,安全服务于一体的网络安全服务提供商。
 
java反序列化漏洞修复方案
 
对使用反序列化的代码以及对象可以设置安全的白名单,针对于第三方的API库设
 
置安全黑名单禁止接口使用反序列化服务,可以通过HOOK安全函数进行过滤实现安
 
全白名单系统,如下图所示:
 

JAVA也可以升级第三方库到最新版本。
分享: