记录一次CTF经典PHP反序列化】的更多相关文章

WEB200-2 这是swpu-ctf的一道题. <?php if(isset($_GET['user'])){ $login = @unserialize(base64_decode($_GET['user'])); if(!empty($login->pass)){ $status = $login->check_login(); if($status == 1){ $_SESSION['login'] = 1; var_dump("login by cookie!!!&q…
目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类似的场景,感觉很有意思,故有本文. 0x01 我打我自己之---序列化问题 关于序列化是什么就不再赘述了,这里主要讲几个跟安全相关的几个点. 看一个简单的序列化 <?php $kk = "123"; $kk_seri = serialize($kk); //s:3:"123…
反序列化 漏洞代码 <?php error_reporting(0); if(empty($_GET['code'])) die(show_source(__FILE__)); class example { var $var='123'; function __destruct(){ $fb = fopen('./php.php','w'); fwrite($fb, $this->var); fclose($fb); } } $class = $_GET['code']; $class_un…
代码来自第六届防灾科技学院网络安全技能大赛,侵删. 目标 获取Linux服务器根目录下的flag 代码 /*home.php*/ class home{ private $method; private $args; function __construct($method, $args) { $this->method = $method; $this->args = $args; } function __destruct(){ if (in_array($this->method,…
魔术方法 在对PHP反序列化进行利用时,经常需要通过反序列化中的魔术方法,检查方法里是否有敏感操作来进行利用. 常见方法: 创建对象时触发:__construct() 对象被销毁时触发:__destruct() 在对象上下文中调用不可访问的方法时触发:__call() 在静态上下文中调用不可访问的方法时触发:__callStatic() 用于从不可访问的属性读取数据:__get() 用于将数据写入不可访问的属性:__set() 在不可访问的属性上调用isset()或empty()触发:__iss…
ISCTF2022改名叫套CTF吧(bushi),博主菜鸡一个,套题太多,挑一些题写下wp,勿喷. MISC 可爱的emoji   下载下来是个加密压缩包,根据hint掩码爆破密码 得到密码:KEYISAES 解压得到表情包文本,一眼emoji-aes,进https://aghorler.github.io/emoji-aes/,根据压缩包密码KEY IS AES猜出emoji密码是AES Advanced改到9,解密得到flag 两层编码   一开始写脚本爆破过了第一关,后来的5秒交key属实…
今天读了几篇分布式相关的内容,记录一下.非经典论文,非系统化阅读,非严谨思考和总结.主要的着眼点在于分布式存储:好处是,跨越单台物理机器的计算和存储能力的限制,防止单点故障(single point of failure):常见方法是,做数据分区(data partition / sharding)以横向扩展,做数据复制(data replication)增加冗余度:难点是,如何在数据一致性(consistency).系统可用性(availability).分区容忍度(partition tol…
在 Google Analytics 中,可以使用 Event Tracking 功能跟踪自定义的事件.但是,如果你要跟踪的是一个链接点击,那么单纯这样写则很有可能导致漏掉许多事件: <a href="http://www.example.com" onclick="_trackEvent('link', 'click', this.href)">Visit example.com</a> 这是因为,每次自定义事件被触发的时候,浏览器都会向…
CSharpGL(44)用ShadowMapping方式画物体的影子 在(前文)已经实现了渲染到纹理(Render To Texture)的功能,在此基础上,本文记录画物体的影子的方式之一——shadow mapping. 下载 CSharpGL已在GitHub开源,欢迎对OpenGL有兴趣的同学加入(https://github.com/bitzhuwei/CSharpGL) 开始 如图所示,在蓝色背景下,有一个金色的茶壶(Teapot模型)和一块灰色的地面(4个顶点组成的正方形),空中有一个…
Mybatis基本用法--上 本文只是为自己查漏补缺.全面的请看官方文档,支持中英文 原理参考:http://blog.csdn.net/luanlouis/article/details/40422941 第一部分 基本概念 1.1 什么是MyBatis MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java…