首页 > 其他分享 >Web_XCTF_WriteUp | unserialize3

Web_XCTF_WriteUp | unserialize3

时间:2023-12-02 17:55:05浏览次数:35  
标签:__ Web PHP 代码 public unserialize3 wakeup 序列化 XCTF

题目

分析

根据题目指向,这题是反序列化漏洞。
分析代码:

class xctf{
public $flag = '111';        // 变量flag初始化为111
public function __wakeup(){  // “__wakeup”:PHP魔术方法,在序列化后立即被调用
exit('bad requests');        // 输出“bad requests”
}
?code=                       // 不完整

代码中的 “__wakeup” 函数
显然题示代码并不完整,括号未闭合,代码里也未出现 unserialize() 函数。


我们构造序列化代码,命名为 serialize.php,代码如下:

<?php
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
}

// 创建新对象用于序列化xctf函数
$serxctf = new xctf();
echo(serialize($serxctf));
?>

安装并配置 phpStudy,运行 serialize.php,得到序列化值:


如果直接将序列化值传入 code,则会直接触发 “__wakeup” 函数:


因此需要绕开 “__wakeup” 函数,这里我们将数据类型 O 改为 z 使字符串被回收:


得到 flag。

Flag

cyberpeace{b2ab1035acae9b3d153389706cc2296c}

参考

PHP 代码审计-CTF Wiki
PHP中private、public、protected的区别详解-周伯通之草堂-博客园
PHP反序列化漏洞-LuckySec
(简单实用小技巧)在浏览器如何打开php文件-✧* ꧁柠檬ヤ汽水꧂✧*-CSDN
PHP 序列化(serialize)格式详解-leonzhang2008-CSDN
绕过__wakeup() 反序列化 合集-Jay 17-CSDN

标签:__,Web,PHP,代码,public,unserialize3,wakeup,序列化,XCTF
From: https://www.cnblogs.com/Guanz/p/17867051.html

相关文章

  • 探索 Web API:SpeechSynthesis 与文本语言转换技术
    一、引言随着科技的不断发展,人机交互的方式也在不断演变。语音识别和合成技术在人工智能领域中具有重要地位,它们为残障人士和日常生活中的各种场景提供了便利。WebAPI是Web应用程序接口的一种,允许开发者构建与浏览器和操作系统集成的应用程序。本文将探讨WebAPI中的Spe......
  • Web 应用显示 Icon 的几种技术盘点
    在Web前端应用开发中,渲染图标是一个常见的需求,可以通过多种技术来实现。图标在用户界面中扮演着重要的角色,提供直观的视觉反馈和更好的用户体验。以下是一些常见的前端图标渲染技术,以及它们的一些优缺点。**1.字体图标(IconFonts)字体图标是将图标作为字体文件(通常是.ttf或.o......
  • Misc_XCTF_WriteUp | reverseMe
    题目分析把图片左右反转:提取文字,得到Flag。Flagflag{4f7548f93c7bef1dc6a0542cf04e796e}参考图片转文字在线-图片文字提取-网页OCR文字识别-白描网页版......
  • 初探webpack之单应用多端构建
    初探webpack之单应用多端构建在现代化前端开发中,我们可以借助构建工具来简化很多工作,单应用多端构建就是其中应用比较广泛的方案,webpack中提供了loader与plugin来给予开发者非常大的操作空间来操作构建过程,通过操作中间产物我们可以非常方便地实现多端构建,当然这是一种思想而不是......
  • Misc_XCTF_WriteUp | János-the-Ripper
    题目分析用记事本打开文件,看见开头有明显的PK,猜测是zip压缩包,且包内有flag的txt文件。用010Editor打开文件,另存为zip压缩文件。解压文件,发现需要密码。用Ziperello进行爆破:得到密码:打开压缩包,得到flag。Flagflag{ev3n::y0u::bru7us?!}......
  • Web 应用中显示页面字体使用的 font-based icons 技术讲解
    在前端Web应用开发中,采用字体图标(font-basedicons)的方法是一种常见的技术,它允许开发者使用字体文件来呈现图标,而不是使用传统的图像文件。这种方法的优势在于它提供了一种灵活、轻量级且易于管理的方式来集成和使用图标,同时减少了HTTP请求和提高性能。Font-basedicons的实现通......
  • 雷池 WAF(SafeLine)异常处理:Web需要绑定动态口令,系统异常崩溃
    说明问题发生在2023年12月1日,突然发现安装的雷池WAFWeb需要重新绑定动态口令,但扫描二维码无法绑定。当即检查防护站点服务正常,PVEShell访问正常。查看Issues·chaitin/SafeLine·GitHub,发现已经有人提交了Bug。[Bug]从3.13开始雷池tengine就疯狂报错了,完全不......
  • 关于 Web 开发中的 CSS before 伪元素
    我用Chrome打开一个网页后,F12打开Chrome开发者工具,在Elements面板观察到一些DOM元素有::before,这是什么含义?在Web前端开发中,::before是CSS伪元素之一,它用于在指定元素的内容前插入生成的内容。这个伪元素允许开发者通过CSS样式向元素的前部添加额外的内容,而无需修......
  • 【Java】嵌入式版东方通Web容器中台后端项目静态资源访问
    嵌入式东方通Web版本:7.0.E.6_P3~ 7.0.E.6_P6首先直接说结论,内置化东方通Web容器的基准版本较低。对静态资源访问配置必须使用一下语法#静态资源访问配置spring:resources:static-locations:classpath:/resources/,classpath:/static/,file:/opt/app/FileRo......
  • 【开源】基于JavaWeb的网上药店系统
    一、摘要1.1项目介绍基于JAVA+Vue+SpringBoot+MySQL的网上药店系统,包含了药品类型模块、药品档案模块、药品收藏模块、药品订单模块、药品资讯模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,网上药店系统基......