发布时间:2026/8/19 11:32:23
反序列化基础学习 PHP(1)php变量PHP中变量用来存储数据比如文件路径、文件名、接收参数等变量必须以开头比如开头比如开头比如name、uplaoddir、uplaod_dir、uplaodd​ir、file_name、$file_path等且变量名区分大小写变量可直接赋值不需要声明类型如$upload_dir./uploads/;//字符串类型$age20//数字类型其中若要声明全局变量则设为global $upload_dir即可若要声明不删除的局部变量静态变量则设为static $upload_dir即可(2)php echo/printecho - 可以输出一个或多个字符串print - 只允许输出一个字符串返回值总为 1(3)php字符串拼接php与python不同点之一在于其具有拼接功能拼接两个字符串仅需要使用.即可也是文件上传漏洞的核心语法核心案例如下:$upload_dir./uploads/;$file_nametest.php;$file_path$upload_dir.$filen_ame(4)php超级全局变量php官方内置全局变量可以在任何域内使用所有超全局变量均是大写的数组形式专门接收用户从浏览器传递给服务器的数据是后端接收前端参数的核心方式也是Web漏洞数据入口。$_FILES文件上传专属超全局变量专门用来接收用户上传文件的所有信息的变量核心语法$_FILES[表单名称][属性名]常用$_FILES[file][name]:获取用户上传文件的原始文件名,攻击方常改$_FILES[file][tmp_name]:获取用户上传文件在服务器的临时文件名临时文件路径攻击方没法改$_GET专门接收用户通过get请求传递的所有数据数据来源于浏览器url中例如访问http://www.xxx.com/index.php?useradminpwd123$user$_GET[user];//接收的值为admin$pwd$_GET[pwd];//接受的值为123$_POST专门接收用户通过POST请求传递的所有数据数据藏在请求体中URL中不可见核心语法$_POST[参数值]后端会接收参数所有敏感数据、文件、表单信息等都是通过post传参(5)php类型比较松散比较使用两个等号 比较只比较值不比较类型。严格比较用三个等号 比较除了比较值也比较类型。?phpif(4242){echo1、值相等;}echoPHP_EOL;// 换行符if(4242){echo2、类型相等;}else{echo3、类型不相等;}?输出1、值相等 3、类型不相等(6)php运算符运算符名称功能示例x y加x 和 y 的和2 2x - y减x 和 y 的差5 - 2x * y乘x 和 y 的积5 * 2x / y除x 和 y 的商15 / 5x % y模除法的余数x 除以 y 的余数5 % 2 10 % 8 10 % 2-x设置负数取 x 的相反符号?php $x 2; echo -$x; ?~x取反x 取反按二进制位进行取反运算。运算规则~1-2; ~0-1;?php $x 2; echo ~$x; ?a . b并置连接两个字符串“Hi” . “Ha”x xor y异或如果 x 和 y 有且仅有一个为 true则返回 truex6y3(x6 xor y3) 返回 false(7)php if-else if-else与switch语句?phpif(条件){if条件成立时执行的代码;}elseif(条件){elseif条件成立时执行的代码;}else{条件不成立时执行的代码;}??phpswitch(expression){casevalue1:// 代码块1break;casevalue2:// 代码块2break;// 更多的 case 语句default:// 如果没有匹配的值}?(8)php数组在 PHP 中array() 函数用于创建数组array();在 PHP 中有三种类型的数组数值数组- 带有数字 ID 键的数组关联数组- 带有指定的键的数组每个键关联一个值多维数组- 包含一个或多个数组的数组1)PHP 数值数组自动分配 ID 键ID 键总是从 0 开始$carsarray(Volvo,BMW,Toyota);人工分配 ID 键$cars[0]Volvo;$cars[1]BMW;$cars[2]Toyota;获取数组的长度 - count() 函数count() 函数用于返回数组的长度元素的数量count($cars);2)PHP 关联数组关联数组是使用您分配给数组的指定的键的数组。有两种创建关联数组的方法$agearray(Peter35,Ben37,Joe43);or:$age[Peter]35;$age[Ben]37;$age[Joe]43;3)php多维数组array(array(elements...),array(elements...),...)三维数组array(array(array(elements...),array(elements...),...),array(array(elements...),array(elements...),...),...)(9)php面向对象(同C)类− 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。对象− 是类的实例。成员变量− 定义在类内部的变量。该变量的值对外是不可见的但是可以通过成员函数访问在类被实例化为对象后该变量即可成为对象的属性。成员函数− 定义在类的内部可用于访问对象的数据。类定义?phpclassphpClass{var$var1;var$var2constant string;functionfunc1($arg1,$arg2){[..]}functionfunc2($arg1,$arg2){[..]}functionfunc3($arg1,$arg2){[..]}[..]}?类使用class关键字后加上类名定义。类名后的一对大括号({})内可以定义变量和方法。类的变量使用var来声明, 变量也可以初始化值。函数定义类似 PHP 函数的定义但函数只能通过该类及其实例化的对象访问。对象定义$anewSite;$bnewSite;$cnewSite;调用成员方法在实例化对象后我们可以使用该对象调用成员方法该对象的成员方法只能操作该对象的成员变量$a-func1();$b-func2();$c-func3();php反序列化将php序列化后的数据恢复为内存中原始对象的过程(1)基本函数serialize()函数就是典型的序列化函数专门用于将php对象转换成一串结构化的、可传输的纯字符串的过程serialize($obj);unserialize就是典型的反序列化函数将序列化生产的字符串还原为序列化之前的完整php对象unserialize($str);(2)序列化后字符串解析序列化字符串由类型标识长度内容组成⚪表示这是对一个对象的序列化结果分隔符用于分隔标识、长度、内容数字标识后续内容长度“字符串”标识类名、属性名、属性值{}包裹对象的所有属性键值对o:4:Show:1;{s:3:cmd;s:3:calc;}O:4:Show标识这是个对象长度为4类名为Show:1表示该方法包含1个属性{}内s:3:cmd该属性的键名是字符串类型长度为3键名为cmds:4:calc该属性的键名是字符串类型长度为4键名为calc(3)漏洞触发要素(1反序列化参数完全可控且无校验服务器端的unserialize函数的参数是由前端用户传递的且开发者没有对传入序列化字符串进行任何校验不校验字符串来源、不校验序列化字符串对应类名是否合法、不校验序列化字符串的内容是否被篡改(2目标类中存在可自动触发的魔术方法目标服务器代码中被反序列化类中定义了__wakeup、__destruct等魔术方法反序列化操作化自动触发这些魔术方法无需手动调用开发者无法感知该过程(3魔术方法调用高危函数魔术方法的函数体内部调用了system、eval、exec等可以直接执行系统命令或php代码的高危函数、且危险函数的参数是类的可控属性。魔术方法名触发条件漏洞利用场景__wakeup当PHP执⾏unserialize函数对⼀个序列化字符串进⾏反序列化操作时⽴刻⾃动触发该⽅法。反序列化漏洞最主要的触发点常⽤于恢复数据库连接、重新初始化对象若此处调⽤危险函数则直接漏洞__destruct当⼀个PHP对象的⽣命周期结束时⾃动触发该⽅法。反序列化漏洞的第⼆核⼼触发点优先级甚⾄⾼于wakeup即使__wakeup被过滤脚本执⾏结束时仍会触发该⽅法隐蔽性极强是代码审计的重点。__construct当使⽤new关键字实例化⼀个对象时⾃动触发该⽅法。构造⽅法⽤于对象的初始化若初始化逻辑中包含危险函数攻击者可通过实例化对象触发漏洞注意反序列化操作不会触发该⽅法。(4)漏洞利用攻击者通过抓包⼯具将数据包请求体中原有的合法序列化字符串替换为⾃⼰构造的恶意载荷发送请求到服务器服务器接收到请求后读取参数中的恶意字符串执unserialize反序列化反序列化的瞬间⾃动触发Show类中的魔术⽅法魔术⽅法执⾏内部的system函数将攻击者传⼊的恶意命令作为参数执⾏最终服务器执⾏了攻击者的命令攻击者实现对服务器的远程控制

相关新闻

2026/8/19 11:32:23

DeepSeek Harness:AI编程助手从聊天到工程化的11个核心技能实战

如果你最近在关注 AI 编程助手,可能会发现一个现象:很多工具号称能帮你写代码,但实际用起来,要么是简单的代码补全,要么是“一问一答”式的聊天,离真正的“工程化”协作还有很大距离。你需要的不是一个只会…

2026/8/19 11:32:23

基于ESP32与Wi-Fi的实时语音通信系统:从I2S音频采集到UDP网络传输

1. 项目概述:用ESP32打造你的数字对讲机几年前,我在一个大型仓库改造项目中,需要为分散在不同区域的施工小组提供临时、可靠的短距离通信工具。传统的模拟对讲机要么信号穿透力不够,要么成本太高。当时我就想,能不能用…

2026/8/19 11:27:23

收藏必备!大模型学习路线图:小白也能轻松入门进阶

本文详细介绍了大模型学习的完整路线图,从基础准备、AI基础、Transformer与大模型原理,到应用开发、智能体(Agent)和工程实践,帮助读者逐步建立大模型知识体系。强调学习顺序的重要性,理解技术存在的原因和…

2026/8/19 12:37:37

智能体界面设计:从频繁交互到高效解释的沟通范式转变

1. 项目概述:从“交互”到“解释”的界面范式转移 最近在跟进一些前沿的AI应用项目时,我反复被一个核心问题困扰:我们是不是把“智能体”做得太“吵”了?这里的“吵”不是指声音,而是指交互的密度和复杂度。无论是企业…

2026/8/19 12:37:37

基于FPGA的Z80单板计算机设计与实现:从软核到完整系统

1. 项目缘起:为什么要在FPGA上复刻Z80 SBC? 作为一名老派的嵌入式开发者和复古计算爱好者,我总对那些经典的8位微处理器架构抱有特殊的情感。Zilog Z80,这颗诞生于上世纪70年代的CPU,驱动了无数经典的计算机和游戏机&a…

2026/8/19 12:37:37

特斯拉Cybertruck双电机AWD:性能冗余与智能底盘协同的工程解析

1. 项目概述:一次关于“性能冗余”的深度思考最近,特斯拉Cybertruck双电机全轮驱动版(AWD)即将推出的消息,在汽车圈和科技圈又掀起了一波讨论。很多人看到“双电机”、“全轮驱动”、“出色扭矩和悬架”这些词&#xf…

2026/8/19 12:37:37

2026四大一键生成论文工具深度测评|选对工具比埋头苦写更重要

近几年AI写论文早已普及,但工具乱用直接踩雷。 很多同学分不清通用AI和学术AI的区别,不管是课程作业还是毕业论文,随便套用工具改写、润色、降重。最终出现AI检测超标、重复率居高不下、格式不符合学校规范、文献综述逻辑混乱等问题&#xff…

2026/8/19 12:32:37

全志与科大讯飞战略合作:智能座舱芯片与AI语音的深度耦合实践

1. 从芯片到语音:一次战略合作的深度解构最近,全志科技和科大讯飞宣布在智能车联领域进行战略升级合作的消息,在圈内引起了不小的讨论。乍一看,这似乎是又一个“芯片厂商AI算法公司”的常规组合,但如果你像我一样&…

2026/8/19 4:14:28

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 6:58:27

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/19 0:00:35

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:35

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:36

Agentic Web:构建智能体原生网络的基础设施挑战与四大支柱

1. 从“被动网络”到“能动网络”:一个正在发生的范式转移 如果你最近关注AI和Web技术的前沿动态,可能会频繁听到“Agentic Web”这个词。它不像“Web3”那样带着浓厚的金融色彩,也不像“元宇宙”那样充满科幻感,但它所描绘的未来…

2026/8/18 18:23:10

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/19 4:14:38

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/18 7:12:40

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…