influxdb未授权访问漏洞复现(cve-2019-20933)

admin 2024年11月11日23:27:56评论109 views字数 1010阅读3分22秒阅读模式

influxdb是一款著名的时序数据库,其使用jwt作为鉴权方式。在用户开启了认证,但未设置参数shared-secret的情况下,jwt的认证密钥为空字符串,此时攻击者可以伪造任意用户身份在influxdb中执行SQL语句。

参考链接:

  • https://www.komodosec.com/post/when-all-else-fails-find-a-0-day

  • https://docs.influxdata.com/influxdb/v1.7/administration/config/#http-endpoints-settings

漏洞环境

执行如下命令启动influxdb 1.6.6:

docker-compose up -d

环境启动后,访问http://your-ip:8086/debug/vars即可查看一些服务信息

漏洞利用:

首先我们依然利用nmap扫描

influxdb未授权访问漏洞复现(cve-2019-20933)

此次漏洞影响的版本:influxDB <1.7.6

我们访问该端口

influxdb未授权访问漏洞复现(cve-2019-20933)

可以看到是404 not found,但是

我们访问http://192.168.1.12:8086/debug/vars

influxdb未授权访问漏洞复现(cve-2019-20933)

可以看到数据,我们进入 /query 查询的接口,然后看到需要验证

influxdb未授权访问漏洞复现(cve-2019-20933)

由于ifluxdb采用的是jwt加密方式,我们只需要在jwt加密解密网站上进行编码加入到数据包中即可绕过授权进行查询

influxdb未授权访问漏洞复现(cve-2019-20933)

这里我们需要更改两个地方,一是将username=admin,二是将时间戳改成大于当前时效的时间(时间戳用来记录jwt口令失效时间)

influxdb未授权访问漏洞复现(cve-2019-20933)

将这个验证编码加入到数据包中验证

influxdb未授权访问漏洞复现(cve-2019-20933)

要注意以下几点:

  1. Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzE1NjE3NDUxfQ.lTb9_CDdHZaNLlEdu9PHWn9ZprstLU7sFUfel1MQDbE

    添加该令牌,密钥要去空,username是固定

  2. 提价数据需要以post方式提交,将抓取的数据包改为post

    sql语句例如:db=sample&q=show+users,得到用户回显

  3. 需要加上

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

    否则数据回显错误

    influxdb未授权访问漏洞复现(cve-2019-20933)

修复建议:升级

原文始发于微信公众号(shadowsec):influxdb未授权访问漏洞复现(cve-2019-20933)

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

发表评论

匿名网友 填写信息