php魔术技巧

标签(空格分隔): PHP #魔术技巧#

—php

反序列化的基本格式:O:组的字节:”定义的组的名字”:有几个参数:{s:4:”flag”;s:3:”111”;}

构造脚本可以在后面这么加$A = new Demo (‘fl4g.php’); //创建对象
$C = serialize($A);

1
2
3
4
5
6
7
8
9
_wakeup():如果察觉到有反序列化的参数值那么将会拒绝执行
//绕过方法:将序列化的对象的属性(参数个数)个数改了

__destruct():当对象的所有引用被删除或脚本执行结束时,PHP 会自动调用析构函数。

preg_match(’/[oc]:\d+:/i’, $var):当中括号的东西出现就会被过滤{应对办法:单双引号绕过
}

__construct():这是一个构造函数,在实例化一个对象的时候,首先会去自动执行的一个方法。