简介:15年被人们所认知并且利用的JAVA反序列化漏洞,可以攻击JAVA应用,实现远程代码执行。反序列化问题由来已久,且并非Java语言特有,在其他语言例如PHP和Python中也有相似的问题。
定义
序列化:
序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中;Java中的ObjectOutputStream类的writeObject()方法可以实现
反序列化:
反序列化即逆过程,由字节流还原成对象。类ObjectInputStream类的readObject()方法用于反序列化
因此,问题所在于类ObjectInputStream在反序列化时,没有对生成的对象的类型做限制,攻击者便可以通过构造恶意输入,让反序列化产生对象,在此过程中就可能带来任意代码执行
检测weblogic反序列化漏洞
通过java反序列化漏洞利用工具验证,若存在漏洞,通过webshell上传木马从而获取webshell,在此之前,需要获取web路径以及web路径对应的物理路径