php序列化函数漏洞----unserialize()函数
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,unserialize()函数概念unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。返回的是转换之后的值,可为 integer、float、string、array
千家信息网最后更新 2025年12月01日php序列化函数漏洞----unserialize()函数
unserialize()函数概念
unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。返回的是转换之后的值,可为 integer、float、string、array 或 object。如果传递的字符串不可解序列化,则返回 FALSE。与之相对的函数serialize()序列化函数。我们看一个题目
题目:天网管理系统,链接: http://ctf5.shiyanbar.com/10/web1/
1、进入题目查看网页源码

这行提示比较霸气,直接让你判断你的用户名的md5值是不是等于0,这里利用php处理MD5哈希缺陷,遇到哈希值是0e开头的字符串被当做0,QNKCDZO就是这样的字符串。推荐网站;https://www.cnblogs.com/Primzahl/p/6018158.html.
2、输入这个特殊字符串,查看一下
3、给了一个路径,查看一下子
这里又得到一个源码,里面关键的部分说的就是unserialize()函数。从源码中很明显可以看出,post传输的username值应该是一个数组。这样才能分别得出user,pass的值。
我们直接给出数组是不行的,因为unserialize()函数需要处理序列化之后的字符串,然后将其反序列化为php的值。所以我们输入的值应该是经过序列化函数serialize()处理后的数组,然后交由unserialize()函数去处理。
编写序列化字符串脚本:
$a=array("user" => true,"pass" => true) //或false
$b=serialize($a)
echo $b
?>
这里要记着数组的值要根据提示用布尔值,不然不会得到flag
最后将得到的结果填入文本框便可以拿到flag。
推荐一篇文章:https://blog.csdn.net/cnbird2008/article/details/8664026
函数
序列
字符
字符串
数组
处理
源码
题目
就是
哈希
推荐
提示
输入
不行
明显
特殊
霸气
关键
变量
天网
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发过程中最艰巨的脑力
净网网络技术合法吗
服务器当家用电脑
java数据库教程ppt
数据库保证安全的四大
软件开发规范都包含哪些
八开素描纸网络安全手抄报
根服务器是什么机构管理
java 数据库插入语法
报纸数据库
怎么不让服务器查到自己上网记录
武汉网络安全工程师薪资
阴阳师哪个服务器可以直播
门禁的数据库怎么备份
软件技术跟计算机网络技术
国家网络安全审查意义
微信数据库损坏修复进度
数据库软件的构架
福田下沙软件开发教学
互联网科技创作营
网络安全法治宣传教育主题日
和记山东网络技术有限公司
迅雷服务器人员
数据库技术管理规范
浙大网络技术专业
网络安全教程第五课
保定玖玖软件开发公司地址
支持用友的数据库有
游客服务器英文
博客mysql数据库设计