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安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透
测试,安全服务于一体的网络安全服务提供商。
对象,在调用转变的过程中看下是否调用了第三方的库如:commons-collections 3.1、commons
-fileupload 1.3.1 这三个库,如果调用了这三种库的任意一种,那么入侵者就会构造漏洞POC来
执行任意的代码,像webshell,以及读取网站配置文件代码,上传任意文件的代码等等的恶意代
码。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透
测试,安全服务于一体的网络安全服务提供商。
那么该如何检测java代码的安全呢? 是否存在JAVA反序列化漏洞呢?
反序列化的漏洞通常在第三方平台数据的传输,以及网站的模板文件,对象的安全存储,中出现,
那么我们就可以针对网站代码,进行详细的网站漏洞检测,对使用该功能的代码进行审计,检测
JAVA的函数并对数据的数值是否过滤恶意代码。Sine安全公司是一家专注于:服务器安全、网站
安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
那么我们就可以针对网站代码,进行详细的网站漏洞检测,对使用该功能的代码进行审计,检测
JAVA的函数并对数据的数值是否过滤恶意代码。Sine安全公司是一家专注于:服务器安全、网站
安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
java反序列化漏洞修复方案
对使用反序列化的代码以及对象可以设置安全的白名单,针对于第三方的API库设
置安全黑名单禁止接口使用反序列化服务,可以通过HOOK安全函数进行过滤实现安
全白名单系统,如下图所示:
JAVA也可以升级第三方库到最新版本。