log4j2安全漏洞

漏洞描述:

Apache log4j2 2.0 - 2.14.1 版本均受影响
Log4j存在远程代码执行漏洞,该漏洞产生的原因是SocketServer类对于监听获取到的数据并没有进行有效的安全验证,直接进行反序列化处理。攻击者可以传入恶意的序列化数据对漏洞进行利用,向服务器发起远程代码执行攻击。

rmi远程方法调用:jvm与jvm进程做远程交互的服务。

参考:https://blog.csdn.net/weixin_48985078/article/details/121871055

攻击方式:

黑客部署nginx服务器和rmi服务器,nginx中放入攻击脚本(是个class文件)。

服务器的rmi参数必须是true.

通过远程注入方式(rmi协议),让服务器通过log4j2发送rmi请求到rmi服务器,rmi服务器会到nginx服务器中下载攻击脚本到本地,通过类加载机制执行。

JNDI注入简单来说就是在JNDI接口在初始化时,如:InitialContext.lookup(URI),log4j2的logger.info(URI)。如果URI可控,那么客户端就可能会被攻击

解决方法:

  1. 升级log4j2版本,更新至Apache Log4j 2.15.0-rc2 版本(最佳方法)。
  2. 设置服务器白名单,不会再访问黑客服务器
  3. rmi参数改为flase,rmi请求不会被执行。
posted @ 2021-12-22 21:50  陈此间  阅读(932)  评论(0)    收藏  举报