zoukankan      html  css  js  c++  java
  • 通达OA任意用户登录和后台GetShell漏洞复现

    本文仅为了学习交流,严禁非法使用!!!
    (随笔仅为平时的学习记录,若有错误请大佬指出)

    1.分析一下存在漏洞文件 logincheck_code.php



    从代码中我们可以控制的有UID,CODEUID然后判断$login_codeuid是否存在,不存在或者为空就退出,然后将获取的UID,带入到sql语句进行查询,后面会验证查询的结果,如果信息核对正确,则将个人信息放入到SESSION中,UID=1的时候默认是管理员,而UID我们可以输入一个1,就可以满足查询ql,而我们现在要绕过if (!isset($login_codeuid) || empty($login_codeuid)){exit();},全局搜索一下$login_codeuid可不可以控制

    2.分析一下/general/login_code.php,发现存在$login_codeuid


    如果$login_codeuid为空,则给$login_codeuid赋一个随机值,并且使用echo打印出来

    3.那我们的思路是:先去访问/general/login_code.php,获得$login_codeuid,再去访问logincheck_code.php,同时POST传入获取的$login_codeuidUID=1,获得返回包的PHPSESSID,在使用火狐浏览器伪造COOKiE,登录后台

    4.漏洞复现

    将获得的code_uid保存下来,进行下一步

    将获取的PHPSESSID保存下来,使用火狐浏览器伪造COOKIE,同时访问/general/index.php,便可以进入后台

    5.后台GetShell(靶机环境windows7 通道OA用的是MYOA2017)

    依次点击系统管理-附件管理-添加存储目录,选择根目录

    6.依次点击组织-系统管理员-附件(下图标注)

    7.直接上传shell.php不能成功,开启抓包,上传shell.php.进行绕过,windows系统会自动去掉.,不符合windows的命名

    8.使用冰蝎进行连接

    9.实战(由以上的思路,进入到某站的OA后台管理系统)

    10.修复建议
    升级通达 OA 到最新版
    参考文章
    https://www.chabug.org/audit/1516.html
    https://blog.csdn.net/sun1318578251/article/details/105728541/

    此文档仅供学习,参与违法行为与笔者无关。

  • 相关阅读:
    Java Collection知识总结
    Java异常总结
    关于触发器
    关于事务
    git分支的创建、删除、切换、合并
    github项目上传管理
    如何在github上下载单个文件夹?
    常见的javascript跨站
    各类常用端口漏洞缺陷
    SEO优化实践操作
  • 原文地址:https://www.cnblogs.com/lovequitepcs/p/12864203.html
Copyright © 2011-2022 走看看