php发展

首页 » 常识 » 预防 » InfluxDBAPI未授权访问漏洞
TUhjnbcbe - 2021/2/21 17:08:00

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

No.1

漏洞简介

InfluxDB是一个使用Go语言编写的开源分布式,支持高并发的时序数据库,其使用JWT作为鉴权方式。在用户开启了认证,但未设置参数shared-secret的情况下,JWT的认证密钥为空字符串,此时攻击者可以伪造任意用户身份在InfluxDB中执行SQL语句。在InfluxDB中,每条数据都可以粗略看成是虚拟key=value的形式,如语句

INSERTcpu,host=serverA,region=us_westvalue=0.64

表示往数据库中插入一条指标名为cup,标签集host为serverA,region为us_west的,值是0.64的数据。具体的数据概念和含义可以参考InfluxDB官方文档。

InfluxDB提供三种操作方式:

CLIHTTP(包括API接口和Web管理界面)各语言的API库

但实际上以上操作方式其实都是在调用InfluxDB实现的API接口,API接口的两个常用操作是query(查询数据)和write(更改数据)

No.2

产生原因

InfluxDB的Web操作界面默认运行在localhost端口;HTTPAPI接口默认运行在localhost端口;如果直接将只能本机访问到的localhost改为内网或者公网IP,没有配置访问控制的口令,便可能会产生未授权访问漏洞。

No.3

漏洞发现

扫描默认的或者端口

端口HTTPAPI的X-Influxdb-Version标志头

影响版本InfluxDB1.7.6的版本。

No.4

漏洞复现

通过vulhub搭建环境InfluxDB1.6.6

docker-

1
查看完整版本: InfluxDBAPI未授权访问漏洞