打开链接后,源码审计
1,unserialize时,_wakeup()的绕过 //只需要令序列化字符串中标识变量数量的值大于实 际变量
2,绕过preg_match正则,因为正则会过滤掉序列化开头的字母O //使用+可以绕过preg_match() 正则匹配,O:4改成O:+4
这里参考了大佬的反序列化代码
因为题目还要求base64解码再赋值给var传参
所以运行一下后构造payload
payload: /index.php?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==
得到flag
知识点:1.preg_match()匹配绕过
2.unserialize() 反序列化执行_wakeup()的绕过
2020.7.21 公瑾