Loading

Zoho漏洞分析-总结漏洞分析三板斧

漏洞分析三板斧

1、挖掘已公开信息:厂商公告信息,同行已经办公开的细节
2、代码对比分析:Jar包分析,源代码分析对比分析,补丁分析(主要看修补了哪个地方)
3、过往漏洞分析or自行构造:根据漏洞类型和代码分析的结果,构造poc触发。
(1)如果是同类型历史漏洞poc可能通用
(2)如果是通用漏洞(如sql注入等等)直接自己构造或者调用工具。
(3)如果都没有只能自己一点点构造。

公告分析

https://www.manageengine.com/products/passwordmanagerpro/advisory/rce.html
https://www.manageengine.com/products/passwordmanagerpro/release-notes.html

补丁分析

过于繁杂冗余,难以分析

源码分析

Jar包分析

大部分代码直接打包到jar中,因此需要反编译,再做对比分析。

1、详细的对比分析

优点:直接通过代码比对工具反现问题
缺点:需要反编译,部分工具反编译出来之后出现变量名称不一样,以及一些其他冗余的干扰字符,代码量较大

2、粗略的对比分析

优点:速度快直接确定哪些jar包被改过
缺点:如果jar被重新打包,即使同版本也会出现md5值不一样,无法直接看到代码

粗略对比diff.py

import os
import hashlib

new_dir = os.walk("pmp1200/lib")
old_dir = os.walk("pmp1210/lib")

for dir_name,sub_dir,dir_file in new_dir:
    for name in dir_file:
        if ".jar" in name:
            full_name = dir_name + "/" + name
            other_full_name = full_name.replace("pmp1200","pmp1210")
            new_md5 = hashlib.md5(open(full_name,'rb').read()).hexdigest()
            old_md5 = hashlib.md5(open(other_full_name,'rb').read()).hexdigest()
            if new_md5 != old_md5:
                print(full_name)

确定poc

https://xz.aliyun.com/t/8184/

插曲

1、前期dnslog有,计算器没弹框,也没生成文件以为没成功,实际上因为目标环境自带的jre等等情况导致没法完美弹框
2、后期跟外面其他师傅沟通,得到反馈的信息是cb链没打成功是因为uid的问题,但其实cb1.9.2和1.9.4其实是一样的。(

posted @ 2022-08-08 15:38  0x28  阅读(137)  评论(0编辑  收藏  举报