1.反序列化基础利用
2.pop链
POP链: POP(面向属性编程)链是指从现有运行环境中寻找一系列的代码或指令调用,然后根据需求构造出一组连续的调用链。
反序列化利用就是要找到合适的POP链。其实就是构造一条符合原代码需求的链条,去找到可以控制的属性或方法,从而构造POP链达到攻击的目的。
寻找POP链的思路:
A.寻找unserialize0函数的参数是否可控;
B.寻找反序列化想要执行的目标函数,重点寻找魔术方法(比如 wakeup()和 destruct())
C.一层一层地研究目标在魔术方法中使用的属性和调用的方法,看看其中是否有我们可控的属性和方法
D.根据我们要控制的属性,构造序列化数据,发起攻击
解题思路:
A.构造利用链,就要找到头和尾。再想办法把头和尾连接起来。
B.$sid和$config是用户输入可以控制的,这是利用链的头部。
C.最终目的是读取flag.php文件,就