InfluxDB是一个使用Go语言编写的开源分布式,支持高并发的时序数据库,其使用JWT作为鉴权方式。在用户开启了认证,但未设置参数shared-secret的情况下,JWT的认证密钥为空字符串,此时攻击者可以伪造任意用户身份在InfluxDB中执行SQL语句。
影响版本
InfluxDB < 1.7.6 的版本。
漏洞复现
标识:8086端口 HTTP API 的 X-Influxdb-Version 标志头
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9e0429032f9803697b7e01d2f3737c76.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/84133eb7b7ad94036df8644e844e479c.png)
借助https://jwt.io/来生成jwt token
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/77fda0558fc181af9bbb3eae29b24308.png)
发送带有这个jwt token的数据包,可见SQL语句执行成功:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/60698da02e8d472b1fcb34f7bde1cff9.png)