php序列化函数漏洞----unserialize()函数
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,unserialize()函数概念unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。返回的是转换之后的值,可为 integer、float、string、array
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
深圳九邦互联网科技有限公司
互联网是不是新科技
互联网科技公司官网
科技互联网公司logo
上海万想互联网科技
科技互联网的估值
汽车互联网创新科技园
互联网科技创新服务
互联网软件和科技
杭州壁岐互联网科技有限公司
健康食品互联网创新科技园项目
互联网科技人工智能实验室
科技类公司包括互联网吗
用友工业互联网科技发展
科技赋能视角下互联网保险发展
皮皮虾互联网科技有限公司
美国互联网科技公司
互联网科技数字货币
银川新华互联网科技学校是国营吗
六子台科技互联网展会
互联网科技行业发展
科技与互联网发展
海南购全球互联网科技
深圳国际航运科技和互联网
昭通云南众福互联网科技有限公司
互联网与医疗科技
互联网金融科技公司的优势
江苏互联网智能科技软件
广东鹅鹅鹅互联网科技有限公司
杭州融税互联网科技有限公司