通达 OA 存在认证绕过漏洞,由外部可控的参数可登录任意用户
漏洞描述
通达 OA 是一套国内常用的办公系统,2020年4月17日,通达OA官方发布了最新的通达OA 11.5.200417版本,该版本修复了若干安全问题。
对于部分版本,存在一个认证绕过漏洞,利用该漏洞可以实现任意用户登录,包括管理员
影响范围
- 通达 OA 2017 版
- 通达 OA V11.X < V11.5
漏洞复现
访问/general/login_code.php获取code_uid
POST传递CODEUID和被伪造用户的UID到/logincheck_code.php,返回的SESSID即其身份
携带SESSID访问
漏洞分析
源码在程序安装目录的webroot目录下,用工具解密
/logincheck_code.php
UID参数可控,在通过15行对login_codeuid的判断后,该值会被直接代入SQL语句进行查询,最后会返回对应UID的用户的信息,通达OA默认的第一个用户是管理员admin账户,所以可以设置UID为1,即可获取到admin管理员的信息,要通过15行的判断需要获取code_uid
/general/login_code.php
当login_codeuid为空时会生成一个存入redis缓存并在最后输出
参考
- source: l3yx's blog
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论