标签:grep 漏洞 项目 jar war 排查 Log4j2 log4j
由于最近曝出来的Log4j2远程执行漏洞过于严重,公司内部也积极展开自查,笔者手头项目比较多,排查起来费时费力,于是总结了以下方法来加快排查速度。
1、最直观方式
- 1、使用pom分析插件,如IDEA上的Dependency Analyzer,打开pom文件后,切换到Dependency Analyzer标签,查看log4j-core的版本号;
- 2、查看lib下jar包的版本;如IDEA中;
以上方法需要每个项目都打开去验证,虽然直观,但是麻烦;于是想到用以下方法,先去服务器上排查,然后再根据结果,打开需要的项目进行修复。
2、服务器上排查
- 1、直接查看jar包或war包内的第三方库。
jar -tf jar包或者war包|grep 'log4j.*jar$'
这句话是用来检查jar包或者war包下有没有log4j的jar包,检查结果如图
- 2、解压后的war项目目录或者lib单独打包放在项目外边的。
find . -name log4j*.jar
使用linux的find命令,直接查找相关的jar包。
- 3、打包到项目中的三方引用包是class而不是jar包(相当于是将第三方的jar作为本地项目使用了)
这种包解包结果类似下图:
所以使用如下命令,查找特定类文件
jar -tf jar包或者war包|grep 'log4j'|grep 'Jndi'
比如将 Jndi 修改为 Deny,则会出现如下结果:
此处修改为过滤 Deny 只为做演示结果,要排查Log4j2的漏洞文件,还是要过滤 Jndi。
特殊说明: 由于这种方式没有办法看到log4j的版本号,所以升过级的项目和未升过级的项目都可以查到 JndiLookup.class 文件,此时需要打开项目做进一步的确认。
标签:grep,漏洞,项目,jar,war,排查,Log4j2,log4j 来源: https://blog.csdn.net/Magic_Engine/article/details/122121706
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。