皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页科技正文

usdt充值(www.caibao.it):Zimbra-SOAP-API开发指南part 2

admin2021-09-26147技术

USDT官网

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

0x00 前言

在上一篇文章《Zimbra-SOAP-API开发指南》先容了Zimbra SOAP API的挪用方式,开源代码Zimbra_SOAP_API_Manage。 本文将要在此基础上扩充功效,添加使用治理员权限可以实现的功效。

0x01 简介

本文将要先容以下内容:

· 获得指定邮箱用户的token

· 通过clientUploader插件向服务器上传文件

· 日志检测

0x02 获得指定邮箱用户的token

说明文档:https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/zimbraAdmin/DelegateAuth.html

对应命名空间为zimbraAdmin

请求的地址为:uri+":7071/service/admin/soap"

凭据说明文档中的SOAP花样,可通过以下Python代码实现:

返回的效果如下:

提取出authToken值可以用于邮箱登录,登录方式如下:

进入Zimbra邮箱登录的Web页面,添加以下Cookie信息:

Name:ZM_AUTH_TOKEN Value:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

在登录页面输入邮箱用户名称,不需要输入口令,点击登录。

Chrome浏览器添加Cookie的方式:

在Chrome浏览器中按下F12,开启开发者工具,选择Application标签。

依次打开Storage->Cookies

0x03 通过clientUploader插件向服务器上传文件

这里需要注重上传文件的操作需要在请求头(Request Headers)中设置Content-Type为multipart/form-data; boundary=${boundary},花样示例:

,

usdt收款平台

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno

完整的数据包花样示例:

POST /service/extension/clientUploader/upload HTTP/1.1
Host: mail.xx.com
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno
Content-Length: 400
Cookie:ZM_ADMIN_AUTH_TOKEN=0_530bf417d0f3e55ed628e4671e44b1dea4652bab_69643d33363a65306661666438392d313336302d313164392d383636312d3030306139356439386566323b6578703d31333a313535343835323934303131393b61646d696e3d313a313b
Upgrade-Insecure-Requests:1

------WebKitFormBoundary1abcdefghijklmno
Content-Disposition:form-data;name="file";filename="test.jsp"
Content-Type: image/jpeg

test12345
------WebKitFormBoundary1abcdefghijklmno--

其中,------WebKitFormBoundary1abcdefghijklmno为分隔符,------WebKitFormBoundary1abcdefghijklmno--为结束符

若是未设置该属性,上传文件的操作会会失败,返回效果如下:

在Python剧本的编写过程中,若是直接在Headers中加入属性:Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno,示例代码如下:

headers["Content-Type"]="multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno"

这样会发生bug,无法乐成

此时的数据包花样如下:

POST /service/extension/clientUploader/upload HTTP/1.1
Host: mail.xx.com
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno
Content-Length: 400
Cookie:ZM_ADMIN_AUTH_TOKEN=0_530bf417d0f3e55ed628e4671e44b1dea4652bab_69643d33363a65306661666438392d313336302d313164392d383636312d3030306139356439386566323b6578703d31333a313535343835323934303131393b61646d696e3d313a313b
Upgrade-Insecure-Requests:1

------3c4bc2fbc2368a87e5def7b234fd126b
Content-Disposition:form-data;name="file";filename="test.jsp"
Content-Type: image/jpeg

test12345
------3c4bc2fbc2368a87e5def7b234fd126b--

发现分隔符和结束符为重新随机天生的数值,而不是我们在请求头(Request Headers)中设置的----WebKitFormBoundary1abcdefghijklmno

以是Python代码需要做修改,这里给出一种解决方式:使用requests_toolbelt库。

代码示例:

    fileContent = 0;
    path = input("[*] Input the path of the file:")
    with open(path,'r') as f:
        fileContent = f.read()
    filename = path
    print("[*] filepath:"+path)
    print("[*] filedata:"+fileContent)

    headers = {
    "Content-Type":"application/xml"
    }   
    headers["Content-Type"]="multipart/form-data; boundary=----WebKitFormBoundary1abcdefghijklmno"
    headers["Cookie"]="ZM_ADMIN_AUTH_TOKEN="+token+";"

    m = MultipartEncoder(fields={
    'filename1':(None,"test",None),
    'clientFile':(filename,fileContent,"image/jpeg"),
    'requestId':(None,"12345",None),
    }, boundary = '----WebKitFormBoundary1abcdefghijklmno')

    r = requests.post(uri+"/service/extension/clientUploader/upload",data=m,headers=headers,verify=False)
    if 'window.parent._uploadManager.loaded(1,' in r.text:
        print("[+] Upload Success!")
        print("[+] URL:%s/downloads/%s"%(uri,filename))
    else:
        print("[!]")
        print(r.text)  
        exit(0)

上传乐成后,路径为downloads目录,经由验证的用户才气接见。

0x04 开源代码

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

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

增加了以下两个功效:

· Gettoken

· upload

同时增加了对CVE-2019-9621 SSRF破绽的支持,在邮件服务器关闭了7071治理端口的情况下,通过SSRF破绽实现对治理资源的接见。

0x05 日志检测

登录日志的位置为/opt/zimbra/log/mailbox.log

其他种类的邮件日志可参考https://wiki.zimbra.com/wiki/Log_Files

0x06 小结

本文扩充了Zimbra SOAP API的挪用方式,添加两个实用功效:获得指定邮箱用户的token和通过clientUploader插件向服务器上传文件,纪录实现细节。

本文为 3gstudent 原创稿件,授权嘶吼独家公布,

网友评论

2条评论
  • 2021-07-30 00:01:25

    皇冠新现金网

    皇冠新现金网(www.huangguan.us)是一个开放皇冠即时比分、皇冠官网手机版下载、皇冠足球app下载、皇冠注册的皇冠官网平台。皇冠新现金网平台(www.huangguan.us)上登录线路最新、新2皇冠网址更新最快,皇冠体育APP开放皇冠会员注册、皇冠代理开户等业务。

    别错过这个了

    • 2021-09-16 23:58:56

      @皇冠体育APP AI财经社获悉,18个行业包罗了数字政府、金融、零售,也包罗了电信、电力、医疗保障、制造、互联网等。这与2019年有很大转变,那时阿里巴巴智能事业群确立了四个事业部,划分是数字政府、金融云、新零售和通用行业。在这次行业划分中,阿里云去掉了新金融、新零售的“新”字,而且列出了更多传统行业。这肯定是大神