0x00介绍

本题运用到了PHP反序列化的知识点。那么什么是php反序列化呢?
其实这就是一种将各种数据转换成二进制流与二进制流的读取的概念。
60754-b2hi5hkbf.png

想要更详细的了解序列化概念请点击
序列化的常见形式如下图:
66874-o5ua3vivvgf.png

0x01正文

打开地址,一个平平无奇的登入框。
51276-xnxielxfgw.png

我们尝试弱密码登入,发现按钮毫无动静,遂查看源代码,尝试寻找下一步进展。然后发现代码平平无奇仅剩admin.css一个链接,遂猜想是否存于其中。24010-39v1ijnwi6w.png

果不其然:
23010-rl54x084aoj.png

接着得到下图:
15373-hek84kwmcj.png

<?php
error_reporting(0);
$KEY='ctf.bugku.com';
include_once("flag.php");
$cookie = $_COOKIE['BUGKU'];
if(isset($_GET['16040'])){  //isset函数检测输入值是否为空,若为空执行elseif
    show_source(__FILE__);
}
elseif (unserialize($cookie) === "$KEY")//令cookie值反序列化后的值与ctf.bugku.com相同
{   
    echo "$flag";     //输出key
}
else {
?>

查阅代码,unserialize映入眼帘。这就是反序列化函数,说明这题考的是无类的php反序列化。(问:有类是什么样子? 答:代码中存在class)
接下来我们编写个序列化脚本
15551-e0ss4cquj2p.png

42754-gtwgebf3hyp.png

0x02结尾

接下来YanXia我可能要开始研究研究逆向了,WEB题会稍微降低频率。WEB交给队里另外一个师傅负责他的博客地址:大冰祸

二维码

已有 2 条评论

  1. 我可以转载大佬的文章吗?

    1. @小垃圾啦

      可。记得带上转载信息

发表评论