2025.2.15

web  [HNCTF 2022 Week1]Interesting_include:

直接打开 PHP代码片段包含两部分:一个主脚本和一个潜在的被包含文件。主脚本负责处理GET请求,特别是filter参数,而被包含文件(假设为./flag.php)似乎包含了我们想要获取的信息(可能是flag值)。然而,主脚本中存在安全机制,试图通过正则表达式阻止直接访问flag.php。

  • 思路:参数获取:脚本首先检查$_GET['filter']是否存在。如果存在,它将其值赋给变量$file。
  • 正则表达式验证:接下来,脚本使用preg_match函数检查$file变量中是否包含字符串flag(不区分大小写)。如果不包含,脚本将终止并返回"error"。
  • 文件包含:如果$file包含flag,脚本将尝试使用include语句包含该文件。

直接构造payload(跟之前做过的一个题一样):

?filter=php://filter/read=convert.base64-encode/resource=flag.php 直接解码 

MISC  [HUBUCTF 2022 新生赛]最简单的misc:

  • 打开图片 文件分离后,没发现有用的 lsb,发现png文件 得到一个二维码 扫码直接得到flag 
  • CRYPTO   [NSSCTF 2022 Spring Recruit]Vigenere:

打开就是一推 虽有细节,但一看就是假的 直接简单粗暴一点放网站解密

Vigenere Solver | guballa.de 

REVERSE  [HGAME 2023 week1]test your IDA:

64位 额,打开直接就得到flag。感觉有点无语,这不是白浪费我金币吗? 

PWN [HNCTF 2022 Week1]ezcmp:

先了解gdb:

一、GDB 概述

GDB(GNU Debugger)是 GNU 项目提供的一个强大的程序调试工具,它允许开发者在程序运行时检查和修改程序的状态。GDB 支持多种编程语言,特别是 C 和 C++,是 Linux 下最常用的调试工具之一。

二、GDB 的主要功能

  1. 启动程序:GDB 可以启动被调试的程序,并可以控制它的执行。
  2. 设置断点:开发者可以在程序的特定行或函数中设置断点,当程序运行到这些位置时会自动暂停。
  3. 单步执行:GDB 允许开发者逐行或逐函数地执行程序,以便仔细观察程序的行为。
  4. 查看变量:在程序暂停时,GDB 可以显示程序中所有变量的当前值。
  5. 修改变量:开发者还可以在程序暂停时修改变量的值,以观察不同的输入对程序的影响。
  6. 继续执行:在程序暂停后,GDB 可以继续执行程序,直到遇到下一个断点或程序结束。

三、GDB 的使用方式

  1. 启动 GDB:在命令行中输入 gdb 后跟要调试的程序名,即可启动 GDB。
  2. 设置断点:使用 break 命令(或简写为 b)设置断点,例如 break main 会在 main 函数处设置断点。
  3. 运行程序:使用 run 命令(或简写为 r)运行程序。程序会在遇到断点或异常时暂停。
  4. 查看变量:使用 print 命令(或简写为 p)查看变量的值,例如 print var_name 会显示变量 var_name 的当前值。
  5. 单步执行:使用 next 命令(或简写为 n)逐行执行程序,或使用 step 命令(或简写为 s)逐函数执行程序。
  6. 继续执行:使用 continue 命令(或简写为 c)继续执行程序,直到遇到下一个断点或程序结束。

四、GDB 的高级功能

除了上述基本功能外,GDB 还提供了许多高级功能,如:

  • 条件断点:允许开发者设置仅在满足特定条件时才触发的断点。
  • 观察点:当特定内存地址的内容发生变化时触发。
  • 回溯调试:当程序崩溃时,GDB 可以提供函数调用堆栈的回溯信息,帮助开发者定位问题。
  • 远程调试:GDB 支持通过网络远程调试运行在其他机器上的程序。

直接尝试失败 打开看见了c源码 分析得到主函数中,首先将一个固定的字符串复制到全局数组buff中,然后调用enccrypt函数对其进行加密。之后,程序从标准输入读取30个字符,并与加密后的buff进行比较。如果匹配,则执行/bin/sh,否则输出失败信息并退出。

注意:全局变量v0的声明是多余的,因为在main函数中它被重新声明并初始化了。

根据反编译后的代码可知只要满足buff=buf就可以getshell

首先我想到的是buff加密前的值是“Ayaka_nbbbbbbbbbbbbbbbbb_pluss”,直接根据加密函数加密后得到密文就行了,仔细观察可以看到加密过程中使用了随机数种子,伪加密,随机数种子给了,那就可以直接得到密文:

b'r@\x0e\xdc\xaaxF\x14\xe2\xb0~L\x1a\xe8\xb6\x84R\xee\xbc\x8aX&\xf4\xc2\x90^,\xcb\xc8\x00\x00'

直接连接 拿下

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

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

相关文章

CentOS 7.8 安装MongoDB 7教程

文章目录 CentOS 7.8 安装MongoDB 7教程一、准备工作1. 系统更新2. 权限 二、添加MongoDB软件源1. 创建MongoDB的yum源文件2. 添加以下内容3. 保存并退出编辑器 三、安装MongoDB1. 更新yum缓存2. 安装MongoDB 四、启动MongoDB服务1. 启动MongoDB2. 设置MongoDB开机自启动 五、配…

ElasticSearch基础和使用

ElasticSearch基础 1 初识ES相关组件 (1)Elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。Elasticsearch结合kibana、Logstash、Beats组件 也就是elastic stack(ELK) 广泛应…

[C++]多态详解

目录 一、多态的概念 二、静态的多态 三、动态的多态 3.1多态的定义 3.2虚函数 四、虚函数的重写(覆盖) 4.1虚函数 4.2三同 4.3两种特殊情况 (1)协变 (2)析构函数的重写 五、C11中的final和over…

【git-hub项目:YOLOs-CPP】本地实现01:项目构建

目录 写在前面 项目介绍 最新发布说明 Segmentation示例 功能特点 依赖项 安装 克隆代码仓库 配置 构建项目 写在前面 前面刚刚实现的系列文章: 【Windows/C++/yolo开发部署01】 【Windows/C++/yolo开发部署02】 【Windows/C++/yolo开发部署03】 【Windows/C++/yolo…

在WPS中通过JavaScript宏(JSA)调用本地DeepSeek API优化文档教程

既然我们已经在本地部署了DeepSeek,肯定希望能够利用本地的模型对自己软件开发、办公文档进行优化使用,接下来就先在WPS中通过JavaScript宏(JSA)调用本地DeepSeek API优化文档的教程奉上。 前提: (1)已经部署好了DeepSeek,可以看我的文章:个人windows电脑上安装DeepSe…

安装 Docker Desktop 修改默认安装目录到指定目录

Docker Desktop安装目录设置 Docker Desktop 默认安装位置 (C:\Program Files\Docker\Docker) 是这个 ,导致系统盘占用过大,大概2G ; 那么如何安装到其他磁盘呢? 根据docker desktop 官网 Docker Desktop install 我们可以看到&a…

DeepSeek官方发布R1模型推荐设置

今年以来,DeepSeek便在AI领域独占鳌头,热度一骑绝尘。其官方App更是创造了惊人纪录,成为史上最快突破3000万日活的应用,这一成绩无疑彰显了它在大众中的超高人气与强大吸引力。一时间,各大AI及云服务厂商纷纷投身其中&…

常见的IP地址分配方式有几种:深入剖析与适用场景‌

在数字互联的世界里,IP地址如同网络世界的“门牌号”,是设备间通信的基础。随着网络技术的飞速发展,IP地址的分配方式也日趋多样化,以适应不同规模、不同需求的网络环境。本文将深入探讨当前主流的几种IP地址分配方式,…

NLP 八股 DAY1:BERT

BERT全称:Pre-training of deep bidirectional transformers for language understanding,即深度双向Transformer。 模型训练时的两个任务是预测句⼦中被掩盖的词以及判断输⼊的两个句⼦是不是上下句。在预训练 好的BERT模型后⾯根据特定任务加上相应的⽹…

Flutter_学习记录_动画的简单了解

用AnimationController简单实现如下的效果图&#xff1a; 1. 只用AnimationController实现简单动画 1.1 完整代码案例 import package:flutter/material.dart;class AnimationDemo extends StatefulWidget {const AnimationDemo({super.key});overrideState<AnimationDe…

sql sqlserver的特殊函数COALESCE和PIVOT的用法分析

一、COALESCE是一个返回参数中第一个非NULL值的函数&#xff0c; 列如&#xff1a;COALESCE&#xff08;a,b,c,d,e&#xff09;;可以按照顺序取abcde&#xff0c;中的第一个非空数据&#xff0c;abcde可以是表达式 用case when 加ISNULL也可以实现&#xff0c;但是写法复杂了…

类与对象C++详解(上)

目录 1.类的定义 1.1 类定义格式 补充: struct与class的区别&#xff08;c语言与c&#xff09; 1.2 访问限定符 1.3 类域 2.实例化 3.对象大小 4.this指针 1.类的定义 1.1 类定义格式 class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&…

LabVIEW 天然气水合物电声联合探测

天然气水合物被认为是潜在的清洁能源&#xff0c;其储量丰富&#xff0c;预计将在未来能源格局中扮演重要角色。由于其独特的物理化学特性&#xff0c;天然气水合物的探测面临诸多挑战&#xff0c;涉及温度、压力、电学信号、声学信号等多个参数。传统的人工操作方式不仅效率低…

Windows上安装Go并配置环境变量(图文步骤)

前言 1. 本文主要讲解的是在windows上安装Go语言的环境和配置环境变量&#xff1b; Go语言版本&#xff1a;1.23.2 Windows版本&#xff1a;win11&#xff08;win10通用&#xff09; 下载Go环境 下载go环境&#xff1a;Go下载官网链接(https://golang.google.cn/dl/) 等待…

神经网络常见激活函数 9-CELU函数

文章目录 CELU函数导函数函数和导函数图像优缺点pytorch中的CELU函数tensorflow 中的CELU函数 CELU 连续可微指数线性单元&#xff1a;CELU&#xff08;Continuously Differentiable Exponential Linear Unit&#xff09;,是一种连续可导的激活函数&#xff0c;结合了 ELU 和 …

《安富莱嵌入式周报》第350期:Google开源Pebble智能手表,开源模块化机器人平台,开源万用表,支持10GHz HRTIM的单片机,开源CNC控制器

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV1YPKEeyEeM/ 《安富莱嵌入式周报》第350期&#xff1a;Google开…

小米平板怎么和电脑共享屏幕

最近尝试使用小米平板和电脑屏幕分屏互联 发现是需要做特殊处理的&#xff0c;需要下载一款电脑安装包&#xff1a;小米妙享 关于这个安装包&#xff0c;想吐槽的是&#xff1a; 没有找到官网渠道&#xff0c;是通过其他网络方式查到下载的 不附录链接&#xff0c;原因是因为地…

(学习总结23)Linux 目录、通配符、重定向、管道、shell、权限与粘滞位

Linux 目录、通配符、重定向、管道、shell、权限与粘滞位 Linux 目录通配符重定向管道shell 介绍Linux 权限Linux 权限的概念用户切换命令 su Linux权限管理文件访问者的分类&#xff1a;常用文件类型与其标识符&#xff1a;文件基本权限和权限值的表示方法&#xff1a;更改文件…

深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器

作为一位个人开发者兼产品经理&#xff0c;我的工作日常紧密围绕着云资源的运维和管理。在这个过程中&#xff0c;操作系统扮演了至关重要的角色&#xff0c;而操作系统控制台则成为了我们进行系统管理的得力助手。本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功…

Android10 音频参数导出合并

A10 设备录音时底噪过大&#xff0c;让音频同事校准了下&#xff0c;然后把校准好的参数需要导出来&#xff0c;集成到项目中&#xff0c;然后出包&#xff0c;导出方式在此记录 设备安装debug系统版本调试好后&#xff0c; adb root adb remount adb shell 进入设备目录 导…