近期,安恒Zionlab团队通过监控发现通达OA官网于2020年04月17日发布了最新11.5版本。产品更新说明中只提示修复了已知的若干问题,但经过团队成员补丁对比之后,发现官方修复了一处任意用户登录漏洞。
漏洞危害
未经授权的攻击者可以通过构造进行任意用户登录(包括admin),登录之后可进一步上传恶意文件控制网站服务器。
影响范围
技术分析
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
代码第14行从redis里取标识id,判断是否存在,不存在则退出。
代码第28行存在严重逻辑错误,因为变量UID为攻击者可控,攻击者可赋值变量UID为1,从而控制该SQL语句返回的结果为USER表中UID为1的用户信息(默认UID为1的用户是管理员admin)。
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
代码第180行将查询到的用户信息进行相应的session赋值,因此攻击者只需要绕过代码第14行的redis验证,便可通过伪造UID的值来达到登录任意用户的目的。
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
代码第12行随机生成了一串登录的标识id,并在第35行通过set_cache方法将该标识id插入到redis缓存中,最重要的是在第37行将该标识id进行了输出。
POC
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
![通达OA < 11.5任意用户登录漏洞分析 通达OA < 11.5任意用户登录漏洞分析]()
修复建议
官方已发布最新修正版本,请及时更新补丁:https://www.tongda2000.com/download/sp2019.php
目前,安恒APT预警平台、远程安全评估web扫描模块、网站安全监测平台等产品已支持对该漏洞的检测,已购买产品的客户可以通过在线升级的方式更新最新漏洞策略库进行自查。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/77669.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论