!
也想出现在这里? 联系我们
广告位
当前位置:首页>安全咨询>漏洞复现>某开源堡垒机历史漏洞分析

某开源堡垒机历史漏洞分析

前言

前端时间在某社区看到有师傅发了,我就整理了一下,因为之前看过这套堡垒机的pythonweb,并把目前网上公开的漏洞分析了下,做个记录~~~

水平太cai,请大伙批评指正~~~

分析

  1. 环境搭建(3.5.6-rc6版本)在官网下载安装包,tar命令解压,进入目录,以管理员身份运行./setup.sh即可(直接enter选择默认路径)。

    访问主机7190端口:

     

    搭建环境遇到的问题:用的是centos7虚拟机搭建,遇到ping到主机却telnet不到7190端口的问题,查询资料后关闭centos7防火墙即可。

  2. 漏洞分析
    • 逻辑缺陷看webroot:

      某开源堡垒机历史漏洞分析

      python的应用没怎么看过,不过应该是大同小异,路由结构在app/controller/__init__.py:看登录认证相关:

      某开源堡垒机历史漏洞分析

      转到app.controller.auth.DoLoginHandler:

      某开源堡垒机历史漏洞分析

      某开源堡垒机历史漏洞分析

      某开源堡垒机历史漏洞分析

      通过app.model.user.login判断返回信息,这里将username、password和oath参数带入,跟进app.model.user.login:

      某开源堡垒机历史漏洞分析

      然后password判断(代码太长,没有展开):

      某开源堡垒机历史漏洞分析

      逻辑缺陷在于,在用户密码password为空时,没有对应的控制逻辑,导致登录绕过。

      正常请求的json为:

      {"type":2,"username":"admin","password":"admin","captcha":"xcj9","oath":"","remember":false}

      那么将password变为null,即可绕过:

      {"type":2,"username":"admin","password":null,"captcha":"xcj9","oath":"","remember":false}

    • 任意文件读取(后台)在app.controller.audit.DoGetFileHandler中,对应路由为:

      某开源堡垒机历史漏洞分析

      通过f参数获取filename信息:

      某开源堡垒机历史漏洞分析

      跟踪filename:

      某开源堡垒机历史漏洞分析

      filename直接就拼接到file,然后open:

      某开源堡垒机历史漏洞分析

      但要满足下列条件:

      [hidecontent type="reply" desc="隐藏内容:评论后查看"]

      if act is None or _type is None or rid is None or filename is None:
                  self.set_status(400)  # 400=错误请求
                  return self.write('invalid param, `rid` and `f` must present.')
      
              if act not in ['size', 'read']:
                  self.set_status(400)
                  return self.write('invalid param, `act` should be `size` or `read`.')
              if _type not in ['rdp', 'ssh', 'telnet']:
                  self.set_status(400)
                  return self.write('invalid param, `type` should be `rdp`, `ssh` or `telnet`.')
      

      [/hidecontent]

给TA打赏
共{{data.count}}人
人已打赏
漏洞复现

JXPath 库中的远程代码执行 (CVE-2022-41852)

2022-11-5 22:06:00

漏洞复现

利用ASP.NET Web API Help Page文件上传

2022-11-20 23:46:12

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 2651636361@qq.com 或点击右侧 私信:少羽 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索