zoukankan      html  css  js  c++  java
  • GEEK-2018之隐藏在混乱之中的绝密情报 writeup

    题目如上

    打开题目后发现,提示robots

    随后提示又需要改一改名字

    修改文件名为humans.txt之后发现

     有个备份文件,直接访问www.zip就可以下载了

    下载打开后如下:

     在其中看到了unserialize和两个魔法函数

    可以联想到是反序列化漏洞

        __construct()当一个对象创建时被调用
    
        __destruct()当一个对象销毁时被调用
    
        __toString()当一个对象被当作一个字符串使用
    
        __sleep() 在对象在被序列化之前运行
    
        __wakeup将在反序列化之后立即被调用

     观察代码,__construct函数里有getflag();

    所以我们就只需要把Daedalus类实例化就行了

    而要想实例化,就得调用Mang0类中的__wakeup

    思路就出来了,我们可以构造一个序列化后的Mang0,当作message参数传入进去

    然后unserialize会将他反序列话,同时调用Mang0中的__wakeup函数

    payload:O:5:"Mang0":1:{s:7:"message";s:14:"hello_new_geek";}

     得到flag

  • 相关阅读:
    Python语言程序设计(1)--实例1和基本知识点
    前端学习笔记--函数
    知乎推荐书籍整理
    第六周周总结
    第五周总结
    第四周周总结
    第三周周总结
    第二周总结
    第一周总结
    项目目标
  • 原文地址:https://www.cnblogs.com/wh4am1/p/9959910.html
Copyright © 2011-2022 走看看