ecology checkPassword 代码执行

admin 2024年12月3日14:15:34ecology checkPassword 代码执行已关闭评论5 views字数 1194阅读3分58秒阅读模式

【先知社区】

未知渠道看到了ct发了一个漏洞,简单跟了一下
ecology checkPassword 代码执行
ecology的api接口都在@PATH下 所以很快定位到了路由点
ecology checkPassword 代码执行
代码很简单,看起来似乎只可能是checkPassword()出了问题,简单跟踪一下。checkPassword内部会调用一系列execute()
,没有太多需要注意的点,后面也只看关键的地方。
ecology checkPassword 代码执行
CheckPasswordCmd.exec(),其中有如下的要求

String var3 = Util.null2String(this.params.get("password"));
  List var7 = var6.decryptList(this.request, var5);

ecology checkPassword 代码执行
ecology checkPassword 代码执行
ecology checkPassword 代码执行
简单来说,也就是我们需要传入一个password,然后数据需要满足泛微的rsa编码,然后后缀是``RSA``结尾,这里格式需要正确,不然的话rsa解码会报错。在weaver.rsa.security.RSA类的静态方法里能看到公私钥的文件信息,everything搜索一下就找到了
ecology checkPassword 代码执行
ecology checkPassword 代码执行
然后写个生成加密数据的代码生成password的数据

import weaver.rsa.security.RSA;

import javax.servlet.http.HttpServletRequest;

public class test {
    public static void main(String[] args) {
        RSA var1 = new RSA();
        String var2 = "111111111111";
        String var3 = var1.encrypt((HttpServletRequest)null, var2, (String)null);
        System.out.printf("var3++++++++++++++"+var3);
        System.out.println(var1.decrypt((HttpServletRequest)null, var3, true));
    }
}

一开始走了弯路,以为是password的反序列化问题,后面发现不是 继续向下看。
这里反射调用了com.cloudstore.dev.api.util.Util_DataCache.getObjVal()方法 要求如下

randCodeMap.get(var7) == "" or null 
var 7 来源于getCookie(var1, "__randcode__");

ecology checkPassword 代码执行
ecology checkPassword 代码执行
继续向下走,当满足上诉条件会去调用getObjVal()
ecology checkPassword 代码执行
内部又会继续调用getObjValWithRedis()
ecology checkPassword 代码执行
这就很简答了 通过redis取出value然后反序列化 朴实无华
ecology checkPassword 代码执行
但是有以下的要求,其他的自行研究吧。
(1)需要找个地方可以插入redis的数据(key的值需要为 e9DataCache:开头)
ecology checkPassword 代码执行
(2)新版本泛微需要绕过rasp
ecology checkPassword 代码执行
(3)上面看起来password的数据是只要满足rsp编码就行的 但是对长度其实有点要求 问题不大
ecology checkPassword 代码执行

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月3日14:15:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ecology checkPassword 代码执行https://cn-sec.com/archives/3463584.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.