0x00介绍
本题运用到了PHP反序列化的知识点。那么什么是php反序列化呢?
其实这就是一种将各种数据转换成二进制流与二进制流的读取的概念。
想要更详细的了解序列化概念请点击
序列化的常见形式如下图:
0x01正文
打开地址,一个平平无奇的登入框。
我们尝试弱密码登入,发现按钮毫无动静,遂查看源代码,尝试寻找下一步进展。然后发现代码平平无奇仅剩admin.css一个链接,遂猜想是否存于其中。
果不其然:
接着得到下图:
<?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)
接下来我们编写个序列化脚本
0x02结尾
接下来YanXia我可能要开始研究研究逆向了,WEB题会稍微降低频率。WEB交给队里另外一个师傅负责他的博客地址:大冰祸
©著作权归作者所有 - source: 535yx.cn
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论