以通达OA系统11.2版本为案例的Web渗透

  • 1. 渗透背景:
  • 2. 存在漏洞
  • 3. 漏洞复现
    • 3.1 前台任意用户登录漏洞
      • 3.1.1 漏洞原理:
      • 3.1.2 手工抓包复现:
      • 3.1.3 POC自动获取复现:
    • 3.2 前台未授权访问漏洞
    • 3.3 管理后台文件上传漏洞
    • 3.4 后台SQL注入漏洞
    • 3.5 文件包含getshell
  • 4. 总结

1. 渗透背景:

目标站点:VM虚拟机
O A 版本:通达OA系统11.2
目标系统:Windows server 2008 R2 SP1
威胁等级:高危
渗透工具:BurpSuite pro、SeayDzend、TongDaOA-Fake-User、PHPstorm、蚁剑、VMware

2. 存在漏洞

  1. 前台任意用户登录漏洞
  2. 前台未授权访问漏洞
  3. 管理后台文件上传漏洞
  4. 后台SQL注入漏洞
  5. 文件包含getshell

3. 漏洞复现

3.1 前台任意用户登录漏洞

3.1.1 漏洞原理:

根据网友提供的POC的代码分析,该漏洞涉及的文件包含以下四个文件:

/ispirit/login_code.php/ispirit/login_code_check.php/general/login_code_scan.php/general/index.php

通达OA源码使用zend5加密,利用解密工具SeayDzend解密上述四个文件后分析源码。

  1. /ispirit/login_code.php

    该文件用来获取codeuid 参数,如果不存在,则会自动生成一个codeuid ,并且将其写入CODE_LOGIN_PC缓存中(通达OA使用了缓存系统Redis,同时也提供了对缓存的使用方法),但是在18行位置将这个参数显示出来,导致用户可以获取这个参数的值,从而可以绕过后面的验证。

  2. /general/login_code_scan.php

    在这一文件中,用户可以控制输入的关键参数uid,在存在漏洞的通达OA版本中,后台数据库里uid对应的用户是admin管理员账户。并且将该数据存储在CODE_INFO_PC 缓存中,因为我们在第一个文件中获取的codeuid存储在CODE_LOGIN_PC中,所以这里在复现时需要指明source变量为pc,这里的username则为admin,而type变量需要指明为confirm

  3. /ispirit/login_code_check.php

    这里使用之前存储的两个缓存中的内容,一个用来获取codeuid,一个用来获取通过Post 传入的uid等关键信息。

    这里是最为关键的位置,代码获取用户可控的参数uid,并依次作为依据直接带入数据库进行查询。


    随后将查询的信息直接写入session中,通过这一步, session中包含的就是管理员的身份信息。

3.1.2 手工抓包复现:

  1. 抓首页的包进行更改,访问/ispirit/login_code.php,通过返回包获取codeuid

  2. 使用POST方式访问/general/login_code_scan.php,提交相关参数,其中codeuid改为上一步中返回的值。

    payload:

    uid=1&codeuid={your-codeuid}&type=confirm&source=pc&username=admin
    
    • 1

  3. 使用GET方式访问/ispirit/login_code_check.php,传入关键参数codeuid,让后台进行代入查询,并返回携带管理员身份信息的凭证。

  4. 经过这步后客户端已经拥有了管理员的身份信息,直接访问OA主页,放行如下数据包以及后续的数据包(后续数据包内容大概为管理页面的其他内容),成功以管理员身份登录OA系统。

3.1.3 POC自动获取复现:

  1. 在python环境下运行POC,返回cookie
    (POC来自Github:https://github.com/NS-Sp4ce/TongDaOA-Fake-User)

  2. 替换浏览器存储的cookie,访问http://your-ip/general/成功以管理员身份登录OA系统。
     
    未更改cookie前:

    更改cookie后:

3.2 前台未授权访问漏洞

备注:需要后台有账户在线时使用

  1. 访问http://your-ip/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0 ,此时出现RELOGIN,说明目前没有人在线,需要等待有人登录的时候再尝试。
  2. 在虚拟机通达后台登录管理员账号,再次尝试,此时出现空白页面,说明已经获得权限。
  3. 再次访问http://your-ip/general/,成功进入系统。

3.3 管理后台文件上传漏洞

  1. 登录后台后,在“系统管理 → 系统参数设置 → OA服务设置”,找到Webroot目录

  2. 点击系统管理 → 附件管理 → 添加存储目录,在此重新设置上传附件存储目录(原先默认的路径在MYOA -> attach,不在网站目录MYOA -> webroot下)

    注:
    此处的更改上传文件路径选项在通达OA11.2的版本下可以,11.4版本中不能如此设置,因为这个路径被识别为敏感路径。

  3. 选择组织 → 管理员 → 附件上传,经测试,此处上传“php、php5、phtml”等后缀会被过滤,此时上传TXT 文件是成功的。抓包查看返回值。

  4. 根据返回的结果,拼接文件路径, http://your-ip/im/2106/704995893.shell.txt
    在虚拟机中查看该目录,上传成功

  5. 利用windows系统会自动去掉符号“点”,上传shell.php. 文件进行绕过

  6. 根据返回的结果,拼接文件路径:http://your-ip/im/2106/shell.php,蚁剑连接,成功getshell

3.4 后台SQL注入漏洞

备注:复现此漏洞需先通过上述操作登录OA管理后台,此时为admin权限但无数据库操作权限,此时存在SQL注入漏洞。

  1. 此漏洞存在于/general/appbuilder/web/calendar/calendarlist/getcallist 目录,该点存在盲注。(sqlmap未复现成功)
    问题关键参数: starttime=12&endtime=15&view=month&condition=1
     
    payload:

    starttime=12&endtime=15&view=month&condition=1
    starttime=AND (SELECT[RANDNUM]FROM(SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])---&endtime=1598918400&view=month&condition=1
    
    • 1
    • 2
  2. Request包

    POST /general/appbuilder/web/calendar/calendarlist/getcallist HTTP/1.1
    Host: your-ip
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0)          Gecko/20100101 Firefox/89.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Cookie: KEY_RANDOMDATA=1408; PHPSESSID=94jsta5nnj7ops79s11ji3v3s6
    Upgrade-Insecure-Requests: 1
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 197
    

starttime=12&endtime=15&view=month&condition=1
starttime=AND (SELECT[RANDNUM]FROM(SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])—&endtime=1598918400&view=month&condition=1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

爆出部分信息:

3.5 文件包含getshell

  1. Goby扫描目标站点,爆出通达文件包含getshell,进行验证,goby自动完成Webshell上传。
  2. 蚁剑连接shell成功验证。

4. 总结

针对本次实验复现的通达OA漏洞,解决方法为:尽快更新OA版本,及时打系统补丁。不过除了11.2版本外,此漏洞可能存在于其他版本中,可能也许只是漏洞代码的存放路径改变了,大神可自行分析(小弟我太白,现在真不会审计

通达OA系统11.2漏洞相关推荐

  1. 通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步

    通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步 总体操作过程 具体操作过程 1.根据需要提交到流程的表单,新建表 2.系统管理员账号登录OA系统,按照 菜单>流程中心>工 ...

  2. 心通达OA系统的研发源自2001年,距今已有21年的历史沉淀

    心通达OA系统的研发源自2001年,距今已有21年的历史沉淀. 1.系统介绍 心通达OA系统的研发源自2001年,距今已有21年的历史沉淀.心通达OA采用主流企业级JAVA技术平台,基于云计算模式的S ...

  3. 通达oa系统服务器端设置,通达OA系统secWall保密方案之一:服务器端部署

    通达OA系统secWall保密方案之一:服务器端部署 万华数据 一. secwall软件部署 在通达OA环境中安装好secWall企业版后,做如下配置,使整个OA系统的数据都在secWall企业版的保 ...

  4. 通达OA任意用户登录漏洞复现

    目录 通达OA任意用户登录漏洞 漏洞描述 影响范围 漏洞复现 通达OA任意用户登录漏洞

  5. 通达OA系统对接 单点登录 标准SaaS技术服务说明

    1  标准技术服务项目 标准业务类型 服务说明 服务项目 预估工期 (人/天) HR接口对接 (人员组织同步) 支持HR接口信息对接(因钉钉服务限制,做钉钉接口需要单独购买服务器进行部署) • 支持平 ...

  6. 通达OA系统,MYOA中OfficeRedis启动不了

    通达OA系统,OfficeRedis启动不了 OfficeRedis的错误日志 如下错误,请检查目录及文件是否存在 如下错误,请修改配置参数 如下错误,请修改相关文件中的redis密码 日期:2022 ...

  7. 通达oa php漏洞,通达OA系统傻逼上传漏洞分析,可以直接getshell附EXP

    通达oa是一个不错的OA系统,但是这个不错的OA系统,却有一个傻逼上传漏洞,再加上apache的那个奇葩解析漏洞,我靠,简直天作之合啊.下面做一个分析,可以直接getshell附EXP 漏洞的具体版本 ...

  8. 通达 php解密,全网首发 | 通达OA多枚0day漏洞分享

    之前曝光过通达OA 0day我这里就不曝了,截止到发帖时,下面的漏洞都是未正式公开的. 影响范围: 我测试的是通达OA11.5版本,也就是2020年04月17日发布的,其他版未测,但我想也会有吧. H ...

  9. 通达OA 任意用户登录漏洞复现

    0x00 漏洞描述 该漏洞类型为任意用户伪造,未经授权的远程攻击者可以通过精心构造的请求包进行任意用户伪造登录. 0x01 影响版本 通达OA < 11.5.200417 版本 通达OA 201 ...

最新文章

  1. i5 10400f相当于几代i7_十代酷睿i9/i7/i5差异惊人!功耗/温度放飞自我
  2. java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)
  3. rms c语言 函数,C中任何更快的RMS值计算?
  4. VK Cup 2017 - Round 2
  5. capcreatecapturewindowa 说明_阳江陶瓷坯体增强剂使用说明
  6. python中的ture是常量吗_python中的true是什么
  7. Java 中的枚举 (enum)
  8. Spring框架与J2EE框架
  9. python 压力测试
  10. 学习蓝桥杯之单片机1——软件环境搭建
  11. 软考中级网络工程师-第一章计算机网络概论(自我学习)
  12. SDN的前世今生-SDN是什么
  13. 网约护士来了?相关App不合规 两大安全问题最受关注
  14. python多张子图画在一张画布上,显示图例和标题,并保存。
  15. 利用 python 实现多张图片的无损拼接
  16. android 输入法 sd卡,关于安卓手机内置或外置SD卡中各文件夹的名称和作用
  17. EWM RF手持设备开发记录
  18. 10分钟上手一款好用的服务器节点监测工具(Server 酱)
  19. 用arcgis制作色带图例简明教程
  20. 2021年11月中国车企新能源汽车销量排行榜:Top前十销量同比均有所增长,环比仅top3呈下降趋势(附月榜TOP59详单)

热门文章

  1. webpack源码解析七(optimization)
  2. log4j漏洞原理分析复现检测复盘
  3. Lifeform——站在3D虚拟数字身份与元宇宙结合的风口之上
  4. 跨境电商社交媒体:选择合适的平台
  5. 金立发布8款全面屏手机 从不同档位对抗竞争对手
  6. 如何才能高效掌握知识
  7. 一些心型曲线及其方程
  8. 如何阻止随时自动弹出的各种网页
  9. Windows未正确加载怎么办?
  10. 【Minecraft开服教学】使用 MCSM 面板一键搭建我的世界服务器 并使用内网穿透公网远程联机