【攻防世界-Web】unserialize3解题思路

这篇具有很好参考价值的文章主要介绍了【攻防世界-Web】unserialize3解题思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目直接显示网页源码

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

解题思路

本题需要利用反序列化字符串来进行解题,根据源码提示我们需要构造code。
而__wakeup()在PHP中被称为魔术方法,在进行反序列化时,unserialize()会检查是否存在__wakeup(),若存在,该__wakeup()魔术方法会被先一步调用。对于本题,如果我们直接进行序列化,则会执行__wakeup()从而导致exit。因此我们需要根据漏洞(CVE-2016-7124)使序列化字符串中表示对象属性个数的值大于真实的属性个数,以此跳过__wakeup 的执行,达到绕过的目的。编辑PHP脚本输出序列化的字符串:

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

在PHP在线测试工具上进行验证:

PHP在线测试工具:https://www.it1352.com/Onlinetools/details/8

攻防世界unserialize3,安全,php,web安全
得到:

O:4:"xctf":1:{s:4:"flag";s:3:"111";}

构造payload

漏洞(CVE-2016-7124)使序列化字符串中表示对象属性个数的值大于真实的属性个数,以此跳过__wakeup 的执行,达到绕过的目的

本题序列化字符串的标准格式:O:<类名的长度>:“<类名>”:<成员属性的个数>:{S:…这里我们将属性个数由1改为2进行绕过。

O:4:"xctf":1:{s:4:"flag";s:3:"111";}

攻防世界unserialize3,安全,php,web安全

得到flag

攻防世界unserialize3,安全,php,web安全
cyberpeace{1741954fde5f0c1b3e7e67c043b5d704}文章来源地址https://www.toymoban.com/news/detail-719054.html

到了这里,关于【攻防世界-Web】unserialize3解题思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [CTF/网络安全] 攻防世界 cookie 解题详析

    题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:这是夹心饼干的意思吗? 根据提示,获取页面Cookie中的数据即可 页面提示 look here:cookie.php ,于是GET /cookie.php : 提示 查看HTTP响应 method 1 HTTP响应通常可以在浏览器的开发者工具中找到。 按下F12键打开浏览器

    2024年02月05日
    浏览(46)
  • [CTF/网络安全] 攻防世界 PHP2 解题详析

    翻译: 你能给这个网站进行身份验证吗? index.php是一个常见的文件名,通常用于Web服务器中的网站根目录下。它是默认的主页文件名,在访问一个网站时,如果没有特别指定页面文件名,则服务器会自动加载index.php文件。 在Web应用程序中,index.php文件通常是网站的入口文件

    2024年02月13日
    浏览(48)
  • [CTF/网络安全] 攻防世界 view_source 解题详析

    题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 单击鼠标右键,点击查看页面源代码: 使用浏览器菜单:不同的浏览器可能会在不同的位置提供查看页面源代码的选项。 以Firefox为例,打开应用程序菜单即可: 使用快捷键:几乎

    2024年02月13日
    浏览(58)
  • [CTF/网络安全] 攻防世界 wife_wife 解题详析

    该题涉及Java Script原型链污染:JavaScript 原型链污染讲解 可以看到,后端编程语言为Node.js, 简单来讲,通过 newUser.__proto__ 可以访问到新对象的原型 未污染时: 污染时: 我们以知识点的利用为主,查看源代码: 若isAdmin的属性是true,则它为管理员,否则为普通用户;于是我

    2024年02月06日
    浏览(50)
  • [CTF/网络安全] 攻防世界 disabled_button 解题详析

    题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢? 题目提示 前端知识 ,由HTML相关知识可知,该按钮 即input标签 不能提交的原因有以下六种: 没有包含在表单中: input 标签必须包含在表

    2024年02月07日
    浏览(59)
  • [CTF/网络安全] 攻防世界 php_rce 解题详析

    PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器

    2024年02月06日
    浏览(54)
  • [CTF/网络安全] 攻防世界 command_execution 解题详析

    题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。 ping 命令是一个常用的网络命令,用于测试两台计算机之间网络连接的连通性。通过向目标计算机发送 ICMP 协议的数据包,并等待目标计算机返回响应数据包来测试网络的可达性,同时

    2024年02月06日
    浏览(49)
  • [CTF/网络安全] 攻防世界 simple_php 解题详析

    题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 $a=@$_GET[\\\'a\\\']; 从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。 $b=@$_GET[\\\'b\\\']; 从HTTP GET请求参数中获取一个名为b的变量,

    2024年02月13日
    浏览(48)
  • [CTF/网络安全] 攻防世界 weak_auth 解题详析

    题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。 weak_auth翻译: 弱认证 这个术语通常用来描述一种较弱的安全认证方法或机制,它可能存在安全漏洞,易受到攻击或者被绕过。 在信息安全领域中,弱认证是一种常见的安全威胁。例如,使用简单的密码或者未加

    2024年02月13日
    浏览(49)
  • [CTF/网络安全] 攻防世界 fileinclude 解题详析(php伪协议)

    由于index.php在/var/www/html目录下,而flag.php与index.php同为php文件,故猜想flag.php也在该目录下。 查看页面源代码获取更多信息: 源代码中看到 @include($lan.\\\".php\\\"); ,即此处存在文件包含。 又因为 $lan = $_COOKIE[\\\'language\\\']; 因此解题思路为:利用php伪协议,构造language参数,来读取该目

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包