齐治堡垒机前台远程命令执行漏洞
漏洞公告:
源代码分析:
问题出现在 ha_request.php 文件,第 37 行的 exec 函数,$url 为用户可控的变量,可见
第 33 和 34 行。目光来到第 23 和 24 行,只要 node_request 函数的返回值为“OK”,即可跳过 fatal 函数(此函数为自定义函数,作用类似 PHP 内置的 exit 函数),继续往下执行。
Node_request 函数的定义在 include/common.php 文件中,见下图 2。按照其原本的逻
辑,其作用是请求$url,并返回其内容。根据代码逻辑,
所以$url 变量值类似于
这样的字符串。
但是$req_ipaddr 和$req_node_id 均来自用户输入。因此,假设 10.20.10.11 为黑客可控
的服务器,listener/cluster_manage.php 文件的内容为“
node_request 函数返回“OK”,从而跳过 fatal 函数,继续往下执行来到 exec 函数。
回到 exec 函数,此时该函数的第一个参数是这样的,
所以我们的 payload只能放在$req_node_id 变量中。
见下图3,$req_ipaddr和$req_node_id其实来自于$_REQUEST[‘ipaddr’]和
$_REQUEST[node_id’],并做了全局过滤,删除掉一些危险字符。
金蝶协同办公系统 GETSHELL漏洞
详细说明:
金蝶OA系统在web.xml中配置了一个servlet Connector,是基于旧版本的fckeditor,存在任意文件上传漏洞,配置如下:
com.fredck.FCKeditor.connector.ConnectorServlet.class反编译出主要代码如下:
当Command参数为FileUpload时进行上传,最终服务器上生成的pathToSave文件名,由上传文件路径获得:
可以看到整个过程是没有过滤后缀的。 直接本地构造一个上传页面即可上传:
得到webshell如下: http://202.104.120.18:7890/oa/uploadfiles/File/testabc.jsp 金蝶官方协同办公系统测试地址:
通达OA任意用户登陆拿到管理员的cookie
通达OA任意用户登陆条件需要管理员在线
http://192.168.1.22/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0
访问路径,覆盖了session直接用cookie登陆,访问目录/ general /进入后台
这里已经登陆了。打开无痕模式
如果他什么都没有返回,说明是OK的。那么就利用当前的phpsessid进行访问
如果出现RELOGIN那说明。管理员不在线突破形成的过程
这里查询了UID是否在线。CLIENT默认为0这个0代表浏览器
这个表存的是当前用户的登陆信息。UID和时间。sid是phpssion的值。然后client是客户端标识符。
获取安装目录读取redis配置文件
/general/approve_center/archive/getTableStruc.php
首先是任意文件读取
/ispirit/im/photo.php?AVATAR_FILE=D:/MYOA/bin/redis.windows.conf&UID=2
读取到redis密码。然后通过ssrf
/pda/workflow/img_download.php?PLATFORM=dd&ATTACHMENTS=gopher://127.0.0.1:6399/
这三个漏洞都是在2020HW期间发现的,影响范围很大,企业应该及时发现并且修补这类漏洞。
内容选自:
https://mp.weixin.qq.com/s/oBayKAh9Ctd_AenN3FRVog
https://www.seebug.org/vuldb/ssvid-93826
https://mp.weixin.qq.com/s/LJRI04VViL4hbt6dbmGHAw
如若转载,请注明原文地址: