phpwind代码审计

本文档详细介绍了phpwind v9安装问题,以及如何复现其登录后台存在的命令执行漏洞。通过创建自定义HTML模块,利用XML删除后的代码执行,通过源码审计,发现可以调用特定函数实现命令注入。尽管测试中发现某些数据值对输出影响不大,但揭示了系统的安全风险。
摘要由CSDN通过智能技术生成

安装问题

本来是练代码审计的,装都装不起来,焯,phpwind官网也跑路了
访问目录install.php开始安装
在这里插入图片描述

安装完成就白屏了
在这里插入图片描述
php版本太高哩,转到5点几就好啦
在这里插入图片描述

一些函数解释

name Value
$this->setOutput($apiUrl, ‘apiUrl’); $this->assignt($apiUrl, ‘apiUrl’); 向视图模板传参
手机 $12
导管 $1

phpwind v9最新版存在命令执行漏洞(登陆后台)复现

漏洞地址:

https://www.seebug.org/vuldb/ssvid-94465

登陆后台,门户->模块管理->调用管理->添加模块,新增模块->选择自定义html在这里插入图片描述
写入<?php phpinfo();?>
在这里插入图片描述
选择站外调用代码XML
在这里插入图片描述
删除xml后即可执行php代码
在这里插入图片描述
写入一句话木马就不测试了,直接去扒源码

复现源码审计

输入

这么久了,连个使用教程和源码解析都难找,寄啦

抓包可以知道model为design
在这里插入图片描述PHPstorm看看
在这里插入图片描述

直接就能看到数据库表头src\service\design\dao\PwDesignModuleDao.php

class PwDesignModuleDao extends PwBaseDao {
   
	protected $_pk = 'module_id';
	protected $_table = 'design_module';
	protected $_dataStruct = array('module_id', 'page_id', 'segment', 'module_struct', 'model_flag','module_name', 'module_property', 'module_title', 'module_style', 'module_compid', 'module_tpl', 'module_cache', 'isused',  'module_type');

	public function addModule($data) {
   
		return $this->_add($data, true);
	}
}

查看调用
测试得到模块保存在src\applications\design\admin\PropertyController.php

class PropertyController extends AdminBaseController {
   
	public function doaddAction() {
   
		…………
		$property = $this->getInput('property','post');
		if ($property['limit'] > 200) $this->showError('DESIGN:maxlimit.error');
		$cls = sprintf('PwDesign%sDataService', ucwords($model));
		Wind::import('SRV:design.srv.model.'.$model.'.'.$cls);
		$service = new $cls();
		if (method_exists($service, 'decorateSaveProperty')) {
   
			$property = $service->decorateSaveProperty($property);
			if ($property  instanceof PwError ) $this->showError($property->getError());
		}

		$ds = $this->_getModuleDs();
		Wind::import('SRV:design.dm.PwDesignModuleDm');
 		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值