通达OA < 11.5任意用户登录漏洞分析

  • A+
所属分类:安全文章
 
背景
近期,安恒Zionlab团队通过监控发现通达OA官网于20200417日发布了最新11.5版本。产品更新说明中只提示修复了已知的若干问题,但经过团队成员补丁对比之后,发现官方修复了一处任意用户登录漏洞。
 

漏洞危害

未经授权的攻击者可以通过构造进行任意用户登录(包括admin),登录之后可进一步上传恶意文件控制网站服务器。
 

影响范围

通达OA < 11.5版本
 

技术分析

补丁对比修改了如下文件:

通达OA < 11.5任意用户登录漏洞分析

跟进文件源码

通达OA < 11.5任意用户登录漏洞分析

代码第14行从redis里取标识id,判断是否存在,不存在则退出。
 
代码第28行存在严重逻辑错误,因为变量UID攻击者可控,攻击者可赋值变量UID1,从而控制该SQL语句返回的结果为USER表中UID1的用户信息(默认UID1的用户是管理员admin)。

通达OA < 11.5任意用户登录漏洞分析

代码第180行将查询到的用户信息进行相应的session赋值,因此攻击者只需要绕过代码第14行的redis验证,便可通过伪造UID的值来达到登录任意用户的目的。
      
跟进另一个文件

通达OA < 11.5任意用户登录漏洞分析

代码第12行随机生成了一串登录的标识id,并在第35行通过set_cache方法将该标识id插入到redis缓存中,最重要的是在第37行将该标识id进行了输出。
 

POC

通达OA < 11.5任意用户登录漏洞分析

通达OA < 11.5任意用户登录漏洞分析

 

修复建议

官方已发布最新修正版本,请及时更新补丁:https://www.tongda2000.com/download/sp2019.php

 

目前,安恒APT预警平台、远程安全评估web扫描模块、网站安全监测平台等产品已支持对该漏洞的检测,已购买产品的客户可以通过在线升级的方式更新最新漏洞策略库进行自查。
 
 

 

发表评论

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