2025.2.5

Web  [SWPUCTF 2021 新生赛]ez_unserialize:

这个题先了解一下反序列化:反序列化是序列化的逆过程。序列化是将对象或数据结构转换为可以存储或传输的格式(如JSON、XML或二进制格式)的过程。反序列化则是将这个格式的数据转换回原始的对象或数据结构。

反序列化的应用场景:

  • 数据持久化:将对象状态保存到文件中,以便在程序重新启动时恢复。
  • 远程过程调用(RPC):通过网络传输对象,以便在不同系统或进程间进行通信。
  • Web开发:在Web应用程序中,反序列化常用于处理客户端发送的数据
  • 常见的类型
  • PHP对象注入:在PHP中,如果未对用户输入进行适当验证和过滤,攻击者可能会构造恶意的序列化字符串,从而在反序列化过程中创建任意对象或调用任意方法。
  • Java反序列化漏洞Java的反序列化机制也存在类似的安全风险。攻击者可能会利用Java类库中的漏洞来执行任意代码或绕过安全限制。

注意:在应用程序的代码中查找反序列化函数(如PHP中的unserialize(),Java中的ObjectInputStream.readObject()等)。

反序列化可以查考这篇:https://blog.csdn.net/doubirui/article/details/136976980?fromshare=blogdetail&sharetype=blogdetail&sharerId=136976980&sharerefer=PC&sharesource=2402_88491560&sharefrom=from_link

点进去可真是一头雾水没东西就扫一下 看见了一个txt文件和php文件。打开看见一个路径php文件打不开打开是php脚本,分析一下:

error_reporting(0):关闭了错误报告,就是是错的也不会告诉你

class wllm{

    public $admin;
    public $passwd;
这个就是类定义,包含两个公共属性 $admin 和 $passwd

$this->admin ="user";
        $this->passwd = "123456"
;这个就是用户和密码

if($this->admin === "admin" && $this->passwd === "ctf"){
            include("flag.php");
如果 $admin于"admin"且$passwd等于"ctf",则包含flag.php文件并输出$flag变量的值

$p = $_GET['p'];
unserialize($p);
 通过 $_GET['p'] 获取用户输入,并使用 unserialize() 函数对其进行反序列化。

如何运行脚本(这个脚本我还在学,现在用的是大佬的)在线运行一下,得到一个网址 就得到flag

MISC [LitCTF 2023]喜欢我的压缩包么 (初级):

下载准备解压。需要密码 思路一下就清晰了,根据题目提示,6位直接爆破直接解压就得到flag:LitCTF{Do-u-like-my-zip-p4ck?}

CRYPTO  [SWPUCTF 2021 新生赛]traditional:

这个题我还在理解

先了解如何解决有八卦的题:

  • 理解八卦符号:首先,参赛者需要了解八卦的基本符号和含义,包括阳爻(―)和阴爻(- -)的组合方式以及它们所代表的意义。
  • 划分重卦:在题目给出的字符序列中,参赛者需要根据八卦的组成规律(通常是三个爻组成一个卦,但在某些情况下可能是六个爻组成一个重卦)来划分出每个卦。
  • 对应卦象和含义:将划分出的卦象与具体的八卦对应起来,并理解每个卦象所代表的含义。这通常需要对易经或相关文化有一定的了解。
  • 解密信息:根据卦象的含义和题目中的提示或索引表,将卦象转换为具体的信息或密码,从而解密出flag。

八卦由三个爻组成,每个爻可以是阳爻(―)或阴爻(- -),信息量为8bit。

根据常识,对其编码,“横”表示“1”;“断”表示“0”;000~111共八种表示;
每3个卦为一个字符,共有8个字符;
具体转化过程:用二进制表示——>每9biit转换成一个十进制数字——>ASCII码对应的字符

下载附件打开,也是个逆天了 放入随波逐流,什么都没有得到:

坤:二进制数为000

艮:二进制数为001

  坎:二进制数为010

巽:二进制数为011

震:二进制数为100

离:二进制数为101

兑:二进制数为110

乾:二进制数为111

也就是dict = {'乾':'111','巽':'110','离':'101','艮':'100','兑':'011','坎':'010','震':'001','坤':'000'}

利用脚本得到

REVERSE  [GFCTF 2021]wordy:

个人理解的花指令:一句话概括就是构造一个恒成立条件跳转,并在中间塞一段乱七八糟的数据

这个题要现先了解花指令:

花指令(Obfuscation)是一种技术,用于混淆代码的逻辑和结构,使逆向分析变得更加困难。花指令的目的通常是保护软件免受恶意分析、破解或篡改。

花指令的常见类型:

  • 代码混淆:通过修改代码的结构、变量名、函数名等方式,使代码难以阅读和理解。
  • 控制流平坦化:将原本顺序执行的代码转换为复杂的控制流图,增加逆向分析的复杂度。
  • 虚假代码插入:在代码中插入无实际功能的虚假指令或操作,干扰逆向分析。
  • 加密与解密:对代码或数据进行加密,仅在运行时解密执行,增加分析的难度。

应对花指令的策略:

  • 静态分析:使用反编译工具将二进制代码转换为高级语言代码,然后结合代码混淆分析技术尝试还原代码逻辑。
  • 动态分析:通过调试器或模拟器运行程序,观察程序的执行流程和内存变化,从而推断代码的真实功能。
  • 模式识别:识别和归纳常见的花指令模式,建立知识库,以便在逆向分析过程中快速识别和处理。
  • 经验积累:通过不断实践和学习,积累逆向分析的经验和知识,提高应对花指令的能力。

先查壳,64位 点击先查看结果什么都没有,那就直接看mian函数 这里的花指令就是这个shift+F2,输入脚本,运行得到flag :NSSCTF{u_are2wordy}

pwn  [NSSCTF 2022 Spring Recruit]R3m4ke?:

先连接尝试,没有 查壳,64位,一打开就看到打开main函数发现gets,典型的栈溢出再查看 写个脚本 运行 ls查看,cat得到flag NSSCTF{0f2baf3d-6963-42a6-a011-3039a5d25cca}

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

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

相关文章

新版AndroidStudio 修改 jdk版本

一、问题 之前,在安卓项目中配置JDK和Gradle的过程非常直观,只需要进入Android Studio的File菜单中的Project Structure即可进行设置,十分方便。 如下图可以在这修改JDK: 但是升级AndroidStudio之后,比如我升级到了Android Stu…

Web3技术详解

Web3技术代表着互联网技术的最新进展,它致力于打造一个去中心化的互联网生态系统。以下是对Web3技术的详细解析: 一、Web3技术的核心概念 Web3是第三代互联网技术的代名词,代表着去中心化、区块链驱动和用户自有控制的理念。在Web3的世界中…

景联文科技:专业数据采集标注公司 ,助力企业提升算法精度!

随着人工智能技术加速落地,高质量数据已成为驱动AI模型训练与优化的核心资源。据统计,全球AI数据服务市场规模预计2025年突破200亿美元,其中智能家居、智慧交通、医疗健康等数据需求占比超60%。作为国内领先的AI数据服务商,景联文…

3.【BUUCTF】XSS-Lab1

进入题目页面如下 好好好&#xff0c;提示点击图片&#xff0c;点进去页面如下&#xff0c;且url中有传参&#xff0c;有注入点 发现题目给出了源码 查看得到本题的源码 分析一下代码 <!DOCTYPE html><!--STATUS OK--> <!-- 声明文档类型为 HTML5&#xff0c;告…

进程、线程、内存和IO模型的概念详解

进程、线程、内存和IO模型的概念详解 1 进程与线程1.1 进程1.1.1 进程分类1.1.2 进程的状态和转换1.1.3 僵尸进程和孤儿进程的区别1.1.4 进程之间的通信1.1.5 用户态和内核态1.1.6 用户空间和内核空间 1.2 线程1.2.1 线程的状态和转换1.2.2 进程与线程的区别 1.3 多进程和多线程…

浅谈密码相关原理及代码实现

本代码仅供学习、研究、教育或合法用途。开发者明确声明其无意将该代码用于任何违法、犯罪或违反道德规范的行为。任何个人或组织在使用本代码时&#xff0c;需自行确保其行为符合所在国家或地区的法律法规。 开发者对任何因直接或间接使用该代码而导致的法律责任、经济损失或…

Swagger相关内容整合

mvc:pathmatch:matching-strategy: ant_path_matcher 一、引入相关依赖 <!-- 图像化依赖 --> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version> </de…

【数据结构】循环链表

循环链表 单链表局限性单向循环链表判断链表是否有环思路code 找到链表入口思路代码结构与逻辑 code 单链表局限性 单链表作为一种基本的数据结构&#xff0c;虽然在很多场景下都非常有用&#xff0c;但它也存在一些局限性&#xff1a; 单向访问&#xff1a;由于每个节点仅包含…

简易C语言矩阵运算库

参考网址&#xff1a; 异想家纯C语言矩阵运算库 - Sandeepin - 博客园 这次比opencv快⑥倍&#xff01;&#xff01;&#xff01; 参考上述网址&#xff0c;整理了一下代码&#xff1a; //main.c#include <stdio.h> #include <stdlib.h> #include <string.h…

微服务知识——微服务架构的演进过程

文章目录 初始架构&#xff1a;单机架构第一次演进&#xff1a;Tomcat与数据库分开部署第二次演进&#xff1a;引入本地缓存和分布式缓存第三次演进&#xff1a;引入反向代理实现负载均衡第四次演进&#xff1a;数据库读写分离第五次演进&#xff1a;数据库按业务分库第六次演进…

Hackmyvm crack

简介 难度&#xff1a;简单 靶机地址&#xff1a; 环境 kali&#xff1a;192.168.194.9 靶机&#xff1a;192.168.194.23 扫描 nmap全端口扫描查看tcp服务 三个端口服务21的ftp服务、4200的shellinabox服务&#xff0c;是一个web界面的shell连接工具&#xff0c;12359的一…

P2036 [COCI 2008/2009 #2] PERKET(dfs)

#include<bits/stdc.h> using namespace std;int n; int a[15],b[15]; int ansINT_MAX; // 初始化最小差值为一个很大的数&#xff0c;保证能找到最小值void dfs(int i,int s,int k){if(in){ // 当遍历完所有元素时if(s1&&k0) return;int difabs(s-k);ans mi…

逻辑回归:Sigmoid函数在分类问题中的应用

欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【机器学习】 1 什么是Sigmoid函数&#xff1f; Sigmoid函数&#xff08;Logistic函数&#xff09;是机器学习中最经典的激活函数之一&#xff0c;是一个在生物学中常见的S型函数&#xff0c;也称为S型生长曲线。…

【OpenCV实战】基于 OpenCV 的多尺度与模板匹配目标跟踪设计与实现

文章目录 基于 OpenCV 的模板匹配目标跟踪设计与实现1. 摘要2. 系统概述3. 系统原理3.1 模板匹配的基本原理3.2 多尺度匹配 4. 逻辑流程4.1 系统初始化4.2 主循环4.3 逻辑流程图 5. 关键代码解析5.1 鼠标回调函数5.2 多尺度模板匹配 6. 系统优势与不足6.1 优势6.2 不足 7. 总结…

【系统架构设计师】操作系统 ② ( 存储管理 | 页式存储 | 逻辑地址 与 物理地址 | 页表结构 | 物理内存淘汰机制 )

文章目录 一、页式存储1、CPU 调用数据2、内存存储数据弊端3、分页存储4、逻辑地址 和 物理地址 的结构5、逻辑地址 和 物理地址 的结构 示例6、页式存储 优缺点 二、逻辑地址 与 物理地址1、逻辑地址2、物理地址3、逻辑地址 与 物理地址 区别4、逻辑地址 与 物理地址 的转换 三…

AMD数据中心业务创纪录,Instinct MI355X提前发布

没有人能预料到生成式人工智能&#xff08;GenAI&#xff09;会如此迅速地推动英伟达的扩张&#xff0c;也没有人能预料到英伟达的崛起和英特尔的衰落会如此之快。对于那些相信“第二名可以更努力并取得成功”的人来说&#xff0c;AMD的崛起无疑证明了这一点。然而&#xff0c;…

C++ 中的 `string` 类型:全面解析与高效操作

C 中的 string 类型&#xff1a;全面解析与高效操作 在 C 中&#xff0c;string 类型是对字符数组的高级封装&#xff0c;它提供了大量内置函数&#xff0c;使得字符串的处理变得更为简便和高效。与 C 风格的字符数组不同&#xff0c;string 类型不仅自动管理内存&#xff0c;…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>黄金矿工

目录 决策树&#xff1a;代码设计代码&#xff1a; 决策树&#xff1a; 代码设计 代码&#xff1a; class Solution {boolean[][] vis;int ret,m,n;public int getMaximumGold(int[][] grid) {m grid.length;n grid[0].length;vis new boolean[m][n]; for(int i 0; i <…

DeepSeek 的含金量还在上升

大家好啊&#xff0c;我是董董灿。 最近 DeepSeek 越来越火了。 网上有很多针对 DeepSeek 的推理测评&#xff0c;除此之外&#xff0c;也有很多人从技术的角度来探讨 DeepSeek 带给行业的影响。 比如今天就看到了一篇文章&#xff0c;探讨 DeepSeek 在使用 GPU 进行模型训练…

使用SpringBoot发送邮件|解决了部署时连接超时的bug|网易163|2025

使用SpringBoot发送邮件 文章目录 使用SpringBoot发送邮件1. 获取网易邮箱服务的授权码2. 初始化项目maven部分web部分 3. 发送邮件填写配置EmailSendService [已解决]部署时连接超时附&#xff1a;Docker脚本Dockerfile创建镜像启动容器 1. 获取网易邮箱服务的授权码 温馨提示…