文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

攻防世界unserialize3

2023-09-02 06:39

关注

又来了我的攻防世界

原题:攻防世界

        怎么说呢...先看一下题目吧

 看到题目的时候我第一反应是无从下手,之前说过博主是个刚起步的新手而且对php不是特别了解...这真的是难度一的题嘛...不过!在查找了很多资料后我逐渐理解了一切,也给大家分享一下并且记录自己做题的过程。

        首先这个题的题目为unserialize3,这个单词在php中代表反序列化,所以这个题基本就是和反序列化有关的题目。

        序列化的意思是:是将变量转换为可保存或传输的字符串的过程

        那么反序列化就是将字符串在转化回变量。这种方式能轻松的存储和传输数据,但反序列化有一个漏洞,通过这个漏洞我们可以跳过反序列化的操作的执行。这样就不会执行后面的exit函数。

        但是原代码中并没有序列化所以我们无法进行反序列化,所以我们需要添加一个序列化来将我们的变量变成字符串。

在php中序列化和反序列化函数分别为serialize,__wakeup。下面就要将代码补充完整(即添加序列化)

博主是在sublime然后通过phpstudy配置php变量然后直接在网页打开

另外不要忘记在php的同一个文件夹添加初始界面文件

添加后我们在网页中输入本地回环地址和文件名即可看到:

 

对于这个字符串我们可以看到它有一个变量值("xctf":后面的1)。而对于反序列化来说如果字符串中的变量的数目和真实的数目不一样那么__wakeup会出现错误,我们就造成了反序列化漏洞。

所以我们在填写字符串时将变量值的数目从1改成2

输入网页网址后即可获得flag

来源地址:https://blog.csdn.net/m0_73303597/article/details/127717734

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯