1.ThinkPHP多语言rce复现分析
2.ecshop简介
3.在源码之家下载了一个PHP网站的语言源码源码不知道如何使用
ThinkPHP多语言rce复现分析
前言
最近对 ThinkPHP 多语言远程代码执行 (RCE) 漏洞进行了一番深入学习,该漏洞在特定版本的商城p商 ThinkPHP 中存在,本文将详细分析其利用条件、城源环境搭建、码下漏洞流程以及漏洞复现的语言源码过程。
一、商城p商天然砂指标源码漏洞信息
利用该漏洞,城源需满足以下条件:
1. 确保已安装 ThinkPHP,码下并知道 pearcmd.php 文件的语言源码位置(默认为 /usr/local/lib/php/pearcmd.php,Docker 版本镜像中 pear 默认已安装)
2. 需开启 php.ini 中的商城p商 register_argc_argv 选项(Docker 的 PHP 镜像是默认开启的)
3. ThinkPHP 需开启多语言功能
影响范围:
主要影响 ThinkPHP 版本在 6.0.1、5.0.0、城源5.1.0 以下至对应补丁修复版本的码下用户。
二、语言源码speedtree 源码环境搭建
首先,商城p商从 GitHub 下载 ThinkPHP 源码(例如,城源版本为 6.0.),解压后,通过 composer 安装依赖。在 app/middleware.php 文件中取消注释以开启多语言功能。接着,通过 go-pear.phar 或 Docker 安装 pear。
三、漏洞分析
漏洞主要在于 LoadLangPack 类中的 handle 函数,该函数先通过 detect() 方法检查请求参数是否设置了语言,之后将设置值返回并用于切换语言集。hashtab源码在传递给 load() 函数后,参数又传入 parse() 函数,直接用 include 包含文件,此为漏洞触发点。从获取参数到传入 parse() 函数前,均未对内容进行过滤。
四、漏洞复现
在测试环境中(macOS、PHP 7.3、Apache 2.4),通过以下步骤进行复现:
1. 验证 pearcmd 的存在,获取正确路径(当前环境为 /usr/local/pear/share/pear/pearcmd.php)。qtwebkit源码
2. 了解如何利用 pear,在开启 register_argc_argv 选项后,参数将作为 $_SERVER['argv'] 的一部分传入。
3. 使用 poc 测试,在 /tmp 目录下写入 admin.php 文件,确保正确写入,验证参数解析过程。
4. 利用文件包含访问写入的文件,实现漏洞复现。
注意,除了使用 config-create 命令,还可以使用 Install 命令进行下载操作。keymaker源码若喜欢本文,别忘了点赞与收藏。关注雷石安全实验室,获取更多网络安全知识与技术文章。
ecshop简介
ECShop,由上海商派网络科技有限公司(ShopEx)开发,是一个专为B2C独立网店设计的开源系统,支持PHP和MySQL,适用于企业和个人快速创建个性化网上商店。系统注重用户需求,提供了人性化的网店管理系统,考虑了中国消费者的购物习惯,以提升用户购物体验。 经过两年多的发展,ECShop在产品功能、稳定性、执行效率、负载能力、安全性以及SEO支持方面表现出色,成为国内最受欢迎的购物系统之一。它特有的模板引擎和开放的插件机制,允许商家灵活定制支付方式和配送服务,如与Discuz和phpwind等论坛系统无缝整合,便于会员管理。ECShop还采用了AJAX技术,提高了数据编辑效率和促销功能,如积分、红包等。 在代码优化和缓存机制的帮助下,ECShop的动态页面与静态页面访问速度相当,用户体验得到提升。它支持多语言,包括简体、繁体和英文,并提供源代码开放,便于用户个性化定制。随着移动互联网的发展,ECShop 2.7.2版本新增了手机浏览功能和商品规格分库存管理,增强了手机购物体验。 自年成立以来,ECShop团队经历多次迭代和扩展,从最初的单一功能版本发展到被ShopEx收购,成为商派网络的重要产品系列。从摩托罗拉手机商城项目到与康盛世纪的合作,都见证了ECShop的成长历程。扩展资料
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。目前最新版本为2.7.3。在源码之家下载了一个PHP网站的源码不知道如何使用
1. PHP是一种服务器端脚本语言,它需要安装和支持PHP的服务器环境才能运行,如Apache、IIS等。
2. 如果你使用的是Windows操作系统,可以选择安装WAMP集成包,它集成了Apache服务器、MySQL数据库和PHP解释器,便于搭建本地服务器环境。
3. 安装WAMP后,需要对其进行配置,确保Apache服务器能够识别PHP文件并正确处理。
4. 配置完成后,你就可以在本机上访问PHP网站,并进行相应的修改和调试。