通达oa漏洞复现

通达oa任意用户登录复现

1.漏洞原理

首先源码分析跟踪文件/general/login_code.php,php文件均经过了zend|54加密,使用在线网站解密即可
在线zend解密
源码分析:
通达oa漏洞复现_第1张图片
第12行随机生成了一串登录的CODEUID,并在第35行通过set_cache方法将该标识CODEUID插入到redis缓存中,且第37行将该CODEUID进行了输出。所以想到通过访问该页面可以获得codeuid。
根进logincheck_code.php
通达oa漏洞复现_第2张图片
发现uid可控,post可以指定uid的值。codeuid也可控。
并且uid会放到sql语句中查询,uid=1,默认为admin(管理员)
因此攻击者只需要绕过代码第14行的验证,便可通过伪造UID的值来达到登录任意用户的目的。
漏洞复现:
获取codeuid
通达oa漏洞复现_第3张图片
构造codeuid以及uid
通达oa漏洞复现_第4张图片
获得返回包的session,替换session访问无权限页面即可。

你可能感兴趣的:(通达oa漏洞复现)