【技术原创】Zimbra-SOAP-API开发指南5——邮件转发
2022-12-22 12:0:0 Author: www.4hou.com(查看原文) 阅读量:16 收藏

导语:本文将要继续扩充开源代码Zimbra_SOAP_API_Manage的功能,通过Zimbra SOAP API修改配置实现邮件转发,分享开发细节。

本文将要继续扩充开源代码Zimbra_SOAP_API_Manage的功能,通过Zimbra SOAP API修改配置实现邮件转发,分享开发细节。

0x01 简介

本文将要介绍以下内容:

添加邮件转发

查看邮件转发的配置

查看文件夹共享的配置

开源代码

0x02 添加邮件转发

Zimbra支持将收到的邮件额外转发至另一邮箱,通过Web界面的操作方法如下:

登录邮箱后,依次选择Preferences->Mail

设置转发邮箱后,点击Save

如果想要转发多个邮箱,可以使用,进行分割,同时转发至两个邮箱的示例:[email protected],[email protected]

接下来,通过抓包的方式分析实现流程,进而使用程序实现这部分功能

抓包获得的soap格式示例:

1.png实现代码示例:

2.png3.png

对于清除邮件转发的设置,只需要将邮箱地址设置为空即可

0x03 查看邮件转发的配置

在我们添加邮件转发前,通常需要先获得邮箱转发的配置

通过抓包发现,在访问Web主页面时,如果存在邮件转发的设置,那么返回数据会增加以下内容:

4.png

如果不存在邮件转发的设置,返回数据不存在字符zimbraPrefMailForwardingAddress

在程序实现上,访问Web主页面需要添加Cookie,再通过正则表达式筛选出指定的内容即可

实现代码示例:

5.png

0x04 查看文件夹共享的配置

在上篇文章《Zimbra-SOAP-API开发指南4——邮件导出和文件夹共享》缺少了查看文件夹共享配置的方法,本文作为补充

通过抓包进行分析

发送的url示例: https://

发送的内容示例:

6.png返回的内容示例:

7.png

从以上内容可以知道,相关的请求为GetFolderRequest

查看GetFolderRequest的用法:https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/zimbraMail/GetFolder.html

经过前期的积累,这里也可以通过Zimbra SOAP API实现,发送GetFolderRequest,对返回内容进行筛选即可

收件箱存在文件共享的数据内容示例:

8.png

在程序实现上,如果返回结果中存在字符

实现代码示例:

9.png10.png返回结果示例:

11.png

在删除文件夹共享的操作时,需要填入zid和Inbox对应的数字2即可

0x05 开源代码

新的代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/Zimbra_SOAP_API_Manage.py

添加以下四个功能:

AddForward:添加邮件转发

GetForward:查看邮件转发

GetShare:查看文件夹共享

RemoveForward:清除邮件转发的设置

0x06 小结

本文扩充了Zimbra SOAP API的调用方法,添加四个实用功能,实现方法和思路也可在XSS漏洞上进行测试。

本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/PJAl
如有侵权请联系:admin#unsafe.sh