通达OA<11.5版本漏洞分析与复现

  1. 复现环境
    服务器window2008 软件版本11.3

11.3版本下载地址:
链接:https://pan.baidu.com/s/1QFAoLxj9pD1bnnq3f4I8lg
提取码:ousi

  1. 漏洞分析
    通过官网发布的补丁对比确认新版本修改了如下文件:

    在logincheck_code.php文件中

    代码第28行,变量UID为攻击者可控,攻击者可改变UID参数,从而控制该SQL语句返回USER表中指定uid参数的用户信息。

    在172行对用户信息进行session赋值,攻击者只需绕过代码中的redis验证,便可通过伪造参数来达到登录任意用户的目的。


在第12行随机生成了一串codeuid,然后在第35行通过set_cache方法将该标识id插入到redis缓存中,最后在第37行将codeuid进行了输出。

  1. 本地复现
    一 首先访问
    http://192.168.1.113/general/login_code.php

    获取到 code_uid

二 再访问
http://192.168.1.113/logincheck_code.php

用post请求提交code_uid 参数进行伪造
获取到PHPSESSID参数

三 最后访问登入后页面
http://192.168.1.113/general/index.php

把cookie改成伪造的参数即可登入成功

原文地址:https://www.cnblogs.com/0daybug/p/12801299.html