bugku flag.php

分析

1、脑洞:提示是hint,结果get传入hint得到源码
在这里插入图片描述

2、看源码知,当cookie传入的ISecer值反序列得到的结果等于变量key时,得到flag
3、坑:不仔细看以为key被赋值了,但其实key还没有被定义,因此它的值应该为空
4、解:
在这里插入图片描述
运行得到
在这里插入图片描述

由于分号;被认为是分隔符不会被作为cookie的值,因此用url编码绕过
即,最终构造下图cookie
在这里插入图片描述

备注

1、脑洞要大
2、序列化和反序列化

  • unserialize() 将已序列化的字符串还原回 PHP 的值。
  • serialize() 函数用于序列化
  • eg:
<?php
$arr = array('a','b','c','unserialize','怎么用');
echo serialize($arr),'<br/>';
// 还原序列化的数据
print_r(unserialize(serialize($arr)));
?>

输出:
a:5:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";i:3;s:9:"unserialize";i:4;s:9:"怎么用";}
Array ( [0] => a [1] => b [2] => c [3] => serialize [4] => 怎么用 )

猜你喜欢

转载自blog.csdn.net/zyl_wjl_1413/article/details/84305834