【技术原创】Horde Groupware Webmail漏洞调试环境搭建

【技术原创】Horde Groupware Webmail漏洞调试环境搭建

原创 3gstudent 嘶吼专业版 2023-01-31 12:00

0x00 前言

本文记录从零开始搭建Horde Groupware Webmail漏洞调试环境的细节。

0x01 简介

本文将要介绍以下内容:

Horde Groupware Webmail安装

Horde Groupware Webmail漏洞调试环境配置

常用知识

0x02 Horde Groupware Webmail安装

简单来说,安装Horde Groupware Webmail时需要配置以下环境:

MySQL数据库

Apache2

php7.2

Dovecot

操作系统选择Ubuntu18,这里不能选择Ubuntu16,因为Ubuntu16不支持php7.2

本文的安装过程做了适当精简,完整过程可根据参考资料进行学习,具体安装过程如下:

1.安装MariaDB Database Server

(1)安装

安装命令:sudo apt-get -y install mariadb-server mariadb-client

(2)配置

配置命令:sudo mysql_secure_installation

配置如下:

(3)创建数据库
连接数据库的命令:mysql -u root -p

执行以下命令:

设置数据库的用户为hordeuser,口令为new_password_here
2.安装php-horde-webmail

安装命令:sudo apt -y install php-horde-webmail

3.配置webmail

安装命令:

配置如下:

注:

这里必须指定为/usr/share/horde,否则在运行webmail-install时报错提示:failed to open stream: No such file or directory in /usr/bin/webmail-install on line 17

4.安装

安装命令:webmail-install

配置如下:


5.访问登录页面

http://127.0.0.1/horde/login.php

这里不能使用localhost,会报错提示:

此时没有配置邮箱用户,无法进行登录,需要安装Dovecot

6.安装Dovecot

安装命令:apt-get -y install dovecot-imapd dovecot-pop3d

默认horde webmail没有配置邮箱用户,可以使用Ubuntu系统的用户进行登录,成功,如下图

补充1:安装File_Fstab会出现bug

安装命令:pear install File_Fstab

安装这个模块之后,无法加载test页面,报错提示:

如下图

补充2:cpanel默认支持Horde Groupware Webmail
cpanel的安装可参考:https://docs.cpanel.net/installation-guide/system-requirements-centos/

cpanel下启用Horde Groupware Webmail的方法如下:

(1)添加邮箱账户

进入WHM,登录用户名root,口令为root用户的口令,选择创建用户,如下图

(2)选择horde

使
用新添加
的账户登
录,选择Email Accounts,配置成horde,如下图

0x03 Horde Groupware Webmail漏洞调试环境配置

这里需要先在安装Horde Groupware Webmail的Ubuntu18上添加xdebug,然后在本地安装PhpStorm进行远程调试

本地系统使用Windows,IP为192.168.112.131

安装Horde Groupware Webmail的Ubuntu18 IP为192.168.112.168

流程如下:

1.安装xdebug

需要根据php版本选择合适的xdebug,可选择以下两种筛选方法:

(1)命令行执行命令php -i

(2)浏览器访问phpinfo页面

echo ”

访问http://127.0.0.1/horde/phpinfo.php

将以上方法得到的输出信息复制到https://xdebug.org/wizard,可以自动解析出对应的xdebug版本

根据提示进行安装

输出信息如下:

下载安装xdebug:

配置xdebug:vi /etc/php/7.2/apache2/conf.d/99-xdebug.ini

配置代码需要区分XDebug2和XDebug3,自PhpStorm 2020.3起,开始使用XDebug3,语法也做了更改,详细说明:https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_enable

正确的参数:

对应老的参数(失效):

重启Apache
服务:
sudo syst
emctl restart apache2.service

可通过访问phpinfo页面确认xdebug是否配置成功

2.PhpStorm配置

(1)安装PhpStorm

(2)配置调试端口

打开PhpStorm,创建一个PHP Empty Project

依次打开File -> Settings -> PHP -> Debug

确认调试端口为9000,如下图

(3)配置DBGp Proxy

依次打开File -> Settings -> PHP -> Debug -> DBGp Proxy,填入以下信息:

如下图

(4)配置Servers

依次打开File -> Settings -> PHP -> Servers

手动添加一个,填入以下信息:

勾选Use path mappings,填入以下配置信息:


下图

3.下断点

将Ubuntu18的文件夹/usr/share/horde下载到本地,保存为c:\Users\1\PhpstormProjects\untitiled\horde

在PhpStorm打开需要调试的php文件并下断点

4.开始调试

(1)配置

依次打开Run -> Edit Configurations

手动添加一个,选择PHP Web Page,填入以下信息:

(2)开启监听

依次打开Run -> Start Listening for PHP Debug Connections

(3)开启调试

依次打开Run -> Debug

弹出Chrome浏览器,捕获到断点,如下图

0x04 常用知识

1.添加管理员用户

将用户a设置为管理员用户

修改:$conf[‘auth’][‘admins’] = array();

设置为:$conf[‘auth’][‘admins’] = array(‘a’);

2.日志位置

0x05 小结

在我们搭建好Horde Groupware Webmail漏洞调试环境后,接下来就可以着手对漏洞进行学习。

参考资料:

https://www.horde.org/apps/webmail/docs/INSTALL

https://github.com/horde/base/blob/master/doc/INSTALL.rst

Install Horde Groupware with Apache on Ubuntu Linux

https://neoserver.site/help/step-step-installation-instructions-postfix-and-dovecot-ubuntu