通达oa远程命令执行
2022-9-15 00:6:17 Author: 白帽子(查看原文) 阅读量:39 收藏

声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。3月13日,通达OA在官方论坛发布公告称号,近日接收用户反馈阻止勒索病毒攻击,攻击者通过构造恶意请求,上传webshel l等恶意文件,入侵入侵的服务器进行文件加密,勒索高额匿名货币赎回金。

该突破影响范围较广,影响的版本有:V11版,2017版,2016版,2015版,2013增强版,2013版。

下载使用了通达OA V11.3版本。

链接:https://pan.baidu.com/s/1HP5pDsAK2QLOWpnB1JX-Yg 提取码:vab0 

是个exe,安装解压完是php代码。

用Sublime打开,都是16二进制加密

用notepad打开显示,zend加密

php在线解密网站解密出源代码。

ispirit/im/upload.php

要上传首先需要绕过登陆验证,在本系统中auth.php是登陆验证的相关逻辑,但在upload.php的的未修复前,如果$ P非空就不需要通过auth.php验证,即可执行后续代码。利用此处逻辑伸缩可绕过过登陆验证直接上传文件。

跟进上传方法,发现有个文件名校验函数is_uploadable。

跟进is_uploadable的方法。
查看该函数的代码逻辑,如果文件名从最后一个位置倒数三个是“ php”,那么返回false,也就是不可以上传以php结尾的文件。生成

请求包:

经过下载原始码测试,上传后的文件在MYOA/attach/im/2006/目录下

因上传后的文件不在根目录,所以无法直接利用,因此需要进行文件包含。

参考资料,该文件包含漏洞存在于源码ispirit/interface/ gateway.php。查看该处源码

通过foreach循环解析json,如果键和URL重合,那么获得的URL,判断URL是否为空,如果不为空且url中包含general/,ispirit/,module/,就调用include_once函数。

所以payload可以构建为:

返回结果:

命令执行至此结束。

将文件上传的过程改写成如下有效负载:

通过文件包含调用该文件,生成a.php

菜刀链接一下

第一处补丁补上了文件上传漏洞,无论参数是否为空,都要进行认证。
第二处补丁将“ ..”过滤掉了,如果url中出现该符号,结束掉程序。
官网最新补丁:http://www.tongda2000.com/news/673.php

python:

E

N

D

guān

zhù

men

Tide安全团队正式成立于2019年1月是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

对安全感兴趣的小伙伴可以关注团队官网: http://www.TideSec.com 或长按二维码关注公众号:


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246346&idx=2&sn=effec33eff3781e84333c60fc581c3e4&chksm=82ea5763b59dde751be127656214ba23bf18339796b43ef829fc869e323ebf446713f904f3c9#rd
如有侵权请联系:admin#unsafe.sh