PHP反序列化

  • 序列化
  • 反序列化
  • PHP中的魔法函数
  • pikachu漏洞

一张图看懂序列化和反序列化

以下内容来自pikachu靶场,自己记录用于复习PHP反序列化的利用.

真他妈后悔上课的时候没好好学PHP,现在搞web很是吃力.一步一步的走是很重要的.

序列化

序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象
使用的函数serialize()

class S{public $test="pikachu";
}
$s=new S(); //创建一个对象
serialize($s); //把这个对象进行序列化

序列化后得到的结果是这个样子的:O:1:“S”:1:{s:4:“test”;s:7:“pikachu”;}

  • O:代表object
  • 1:代表对象名字长度为一个字符
  • S:对象的名称
  • 1:代表对象里面有一个变量
  • s:数据类型
  • 4:变量名称的长度
  • test:变量名称
  • s:数据类型
  • 7:变量值的长度
  • pikachu:变量值

反序列化

把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。
使用函数unserialize()

 $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");echo $u->test; //得到的结果为pikachu

PHP中的魔法函数

序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了,就会导致安全问题.

常见的几个魔法函数:

 __construct()当一个对象创建时被调用__destruct()当一个对象销毁时被调用__toString()当一个对象被当作一个字符串使用__sleep() 在对象在被序列化之前运行__wakeup将在序列化之后立即被调用

pikachu漏洞

    class S{var $test = "pikachu";function __destruct(){echo $this->test;}}$s = $_GET['test'];@$unser = unserialize($a);
payload:O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

皮卡丘中的PHP反序列化相关推荐

  1. Pikachu(皮卡丘)靶场中SQL注入

    Pikachu靶场中SQL注入 1.Pikachu(皮卡丘)靶场中SQL注入 1.1.数字型注入 1.2.字符型注入 1.3.搜索型注入 1.4.xx型注入 1.5.insert/update注入 1 ...

  2. 教程 | 使用Tensorflow从视频中揪出皮卡丘!

    作者 | Juan De Dios Santos 译者 | Zhiyong Liu 编辑 | Natalie,Debra AI 前线导读:图像分类和目标检测是计算机视觉两大模块.相比于图像分类,目标检 ...

  3. 皮卡丘为什么不进化_神奇宝贝中皮卡丘和喵喵为什么不进化?这些理由扎心了!...

    原标题:神奇宝贝中皮卡丘和喵喵为什么不进化?这些理由扎心了! 如果神奇宝贝进化就会获得更强的实力,也能学习到之前无法学到的招式,但有些神奇宝贝对进化是抗拒的,主角皮卡丘和喵喵就是很好的例子,它们经历了 ...

  4. Web安全从入门到放弃之皮卡丘靶场精讲视频教程百度云下载链接(20201213整理)

    Web安全从入门到放弃之皮卡丘靶场精讲视频教程(20201213整理) 如失效,请联系:hk007.cn 课程内容介绍:含全套视频课程内容及对应皮卡丘靶场源文件 百度云盘链接:https://pan. ...

  5. python 打印皮卡丘_Python到底是什么?学姐靠它拿了5个offer

    你ZAO吗? 最近陌陌发布了一款很有意思的产品--ZAO,这款AI换脸的产品刷爆朋友圈! 这款产品火爆到什么程度呢? 正在使用ZAO的用户会发现,想要生成一段新的AI换脸视频,已经不是等待几秒.排队第 ...

  6. 不只会卖萌:皮卡丘们真的能改造你的大脑

    最近上映的<大侦探皮卡丘>,让一堆中二青年秒回小时候,回忆起当年疯狂收集神奇宝贝卡片的经历,拿着精灵球召唤小精灵的自己,还有背着家长偷看<神奇宝贝>动画片的紧张刺激~ 这款发售 ...

  7. 用 TensorFlow 目标检测 API 发现皮卡丘!

    在 TensorFlow 众多功能和工具中,有一个名为 TensorFlow 目标检测 API 的组件.这个库的功能正如它的名字,是用来训练神经网络检测视频帧中目标的能力,比如,一副图像. 需要查看我 ...

  8. 用python画皮卡丘源代码-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘...

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

  9. python简单代码画皮卡丘-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘...

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

最新文章

  1. vrep小车避障算法_V-REP 小车建模
  2. 每日一皮:千万别和杠精一般见识...
  3. 通过 pxe(网络安装)完成centos 系统的网络安装
  4. [C++11]可调用对象包装器function
  5. 最高201万!华为高薪招应届生!专业是...
  6. 计算机网络技术三级做题技巧,三级网络技术——我的经历,我的技巧
  7. 数据思维,让决策更精准
  8. 东京奥运出租车超预算想找滴滴接盘被拒 网友:真当人傻吗?
  9. 95-30-009-Channel-总述
  10. python3记录(1) - 内置函数
  11. mysql 痛点_2017年五个最常见Linux的痛点,你了解吗?
  12. 简述hdfs工作原理_简述HDFS的原理?
  13. java 文件传输_Java开发之如何通过HTTP方式传输文件
  14. 浅析视频云行业及实现技术
  15. [NN]前向神经网络的tf.keras详细实现教学
  16. MIUI 10——启用与关闭开发者模式/开发者选项
  17. CoBot 库博源代码缺陷检测工具
  18. idc机房建设费用_数据中心机房收费标准
  19. 区块链面临的挑战(一)
  20. ElasticSearch之Head插件集群健康问题

热门文章

  1. 如何构建应用标准化体系
  2. 2011最新浏览器性能评测
  3. PowerPoint入门
  4. 学习PCL库:PCL库中的IO模块介绍
  5. 程序员开发辅助工具总结
  6. nba 季后赛赛程_这是不用电缆观看NBA季后赛的方法
  7. 如何选购腾讯云服务器?新老用户选购攻略!
  8. kangle php插件,kangle php安装redis扩展
  9. 群控和云控有什么区别
  10. Kyligence MLSQL 正式更名 Byzer,打造新一代开源语言生态