最近log4j2漏洞比较火,涉及到的范围比较广。是热点,就应该去了解下,要不coder见coder聊啥,对吧。
这个漏洞应该是JNDI可以加载远程的class文件导致的,而log4j2是用这种方式去获取类的。JNDI注入,和sql注入很相似,就是用户输入的数据,程序没有拦截过滤,然后用户可以利用漏洞来执行自己的代码。
如果服务端用日志打印一些用户自定义的值,比如header里的各种参数。然后我模拟一个http请求,把参数值写成一个我自己服务器的class文件,那么这个class的加载会在服务端执行,那就有意思了,相当于给我打通了一个入口,我想执行啥就执行啥,是挺恐怖的。。
现在log4j2也发布了bugfix版本,加了一条规则,得是指定目录下的类,才会被加载。
网友评论