攻防世界---getit

2023-11-03

getit

题目描述:菜鸡发现这个程序偷偷摸摸在自己的机器上搞事情,它决定一探究竟

题目附件:https://adworld.xctf.org.cn/media/task/attachments/e3dd9674429f4ce1a25c08ea799fc027

首先查壳
在这里插入图片描述得知:无壳;64位ELF文件;

直接放到ida中,F5键反编译成C语言代码

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char v3; // al
  __int64 v5; // [rsp+0h] [rbp-40h]
  int i; // [rsp+4h] [rbp-3Ch]
  FILE *stream; // [rsp+8h] [rbp-38h]
  char filename[8]; // [rsp+10h] [rbp-30h]
  unsigned __int64 v9; // [rsp+28h] [rbp-18h]

  v9 = __readfsqword(0x28u);
  LODWORD(v5) = 0;
  while ( (signed int)v5 < strlen(s) )
  {
    if ( v5 & 1 )
      v3 = 1;
    else
      v3 = -1;
    *(&t + (signed int)v5 + 10) = s[(signed int)v5] + v3;
    LODWORD(v5) = v5 + 1;
  }
  strcpy(filename, "/tmp/flag.txt");
  stream = fopen(filename, "w");
  fprintf(stream, "%s\n", u, v5);
  for ( i = 0; i < strlen(&t); ++i )
  {
    fseek(stream, p[i], 0);
    fputc(*(&t + p[i]), stream);
    fseek(stream, 0LL, 0);
    fprintf(stream, "%s\n", u);
  }
  fclose(stream);
  remove(filename);
  return 0;
}

查看一些参数的值
在这里插入图片描述从上面的信息中我们可以得到s和t的值,分别为:‘c61b68366edeb7bdce3c6820314b7498’
‘SharifCTF{???}’,这里最容易出错的是t的值,t的值应该是“0x53H+harifCTF{???}”,而t很有可能是存放flag的数组。
分析以上代码,上述代码整体上可分为三部分,其中
10—20行部分就是得到flag 的值,所以只要重写一下这部分代码,输出flag即可

#include<stdio.h>
#include<string.h> 
int main()
{
  char v3; // al
  __int64 v5=0; // [rsp+0h] [rbp-40h]
  int i; // [rsp+4h] [rbp-3Ch]
  FILE *stream; // [rsp+8h] [rbp-38h]
  char filename[8]; // [rsp+10h] [rbp-30h]
  unsigned __int64 v9; // [rsp+28h] [rbp-18h]
   char s[] = "c61b68366edeb7bdce3c6820314b7498";
    char t[] = "SharifCTF{????????????????????????????????}";

 

  while ( (signed int)v5 < strlen(s) )
  {
    if ( v5 & 1 )
      v3 = 1;
    else
      v3 = -1;
    *(t + (signed int)v5 + 10) = s[(signed int)v5] + v3;
    v5++;
  }
  printf("%s",t);
  return 0;
} 

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

攻防世界---getit 的相关文章

  • BUUCTF Crypto(密码学)刷题

    MD5 拿到一串字符串e00cf25ad42683b3df678c61f42c6bda 根据题目可到在线MD5在线解密 拿到flag Url编码 根据提示可知是url编码 url编码在线解密 一眼就解密 的确 一眼就解密了 非常明显的bes
  • 攻防世界-adworld-fileclude-新手

    攻防世界 adworld fileclude 新手 34最佳Writeup由 Haojie 提供WriteUP 收藏 反馈 难度 1 方向 Web 题解数 13 解出人数 2346 题目来源 CTF 题目描述 好多file呀 题目场景 ht
  • 攻防世界-re-for-50-plz-50

    1 下载附件 exeinfo查壳 无壳 2 32位IDA分析 主函数分析 在注释里 31的来源 python和C语言 a cbtcqLUBChERV Nh X D X YPV CJ print len a include
  • 2021年江苏省职业院校技能大赛中职 网络信息安全赛项试卷--web安全渗透测试解析

    2021年江苏省职业院校技能大赛中职 网络信息安全赛项web安全渗透测试 2021年江苏省web安全渗透测试任务书 2021年江苏省web安全渗透测试任务书解析 如果有不懂得地方可以私信博主 欢迎交流 需要环境得 可以加博主联系方式 202
  • CTFSHOW【萌新计划】Writeup

    CTFSHOW 萌新计划 web1 萌新计划 web2 萌新计划 web3 萌新计划 web4 萌新计划 web5 萌新计划 web6 萌新计划 web7 萌新计划 web8 萌新计划 web9 萌新计划 web10 萌新计划 web11
  • buuctf [强网杯 2019]随便注 1

    buuctf web 强网杯 2019 随便注 1 刷题个人日记 小白一个 写给自己看 打开后是这样 从题目和内容来看就是一道sql注入题 输入 1 or 1 1 这个 用来注释掉后面的sql语句 显示所有数据 这个数据有什么用我也不知道
  • [羊城杯 2020]A Piece Of Java

    羊城杯 2020 A Piece Of Java 文章目录 羊城杯 2020 A Piece Of Java 源码分析 从后往前测试 逐步写exp 构造DatabaseInfo类对象 InfoInvocationHandler 动态代理 序
  • ctfshow- web1(50 point)

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 首先映入眼帘的是登录界面 尝试弱口令无果 可以注册 尝试注册一个账号 通过url发现这里是通过order by进行了排序 测试发现一共5个字
  • ctfshow-web3

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 这个题目一看就知道是一个文件包含漏洞 php input可以访问请求的原始数据的只读流 将post请求的数据当作php代码执行 GET ht
  • ctfshow-web4

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 和web3是相同的内容 这里可以通过任意文件读取的方式来进行利用 这里根据返回包知道是nginx 默认nginx日志是 var log ng
  • SAR: 1 4 https://www.vulnhub.com/entry/sar-1%2C425/

    SAR 1 About Release Back to the Top Name Sar 1 Date release 15 Feb 2020 Author Love Series Sar Download Back to the Top
  • [BDSec CTF 2022] 部分WP

    组队参加了个国外的小线上赛 题目比较简单 目录 PWN pwnrace Reverse BDSec License Checker 0x1 shashdot Flag Box Simple Math Poster BDSec License
  • 攻防世界web---新手练习区

    查看网页源代码 根据提示 查看网页源代码 发生了什么 鼠标右键不管用了 F12看到了什么 哈哈哈哈哈 robots协议 也太简单了吧哈哈哈 备份文件 打开御剑扫描后台 cookie 没什么发现 抓包看看 看看cookie php 看http
  • CTF图片隐写题

    1 隐藏在图片属性里的信息或者以文本形式打开能直接获取的信息 例如实验吧里的一道题 这个背影我给满分 就是将信息隐藏在属性里 又或者文本形式能直接看到的 分别是黑客榜中榜游戏和南邮平台的两道题
  • BUUCTF [CSAWQual 2019]Web_Unagi 1

    BUUCTF CSAWQual 2019 Web Unagi 1 提示在 flag 有提示了上传xml文件及其格式 直接用之前xml注入的上传即可 改文件名为1 xml上传即可得flag gt
  • ctfshow web7

    文章目录 题目分析 解题过程 题目分析 打开题目后 有三个文章 随便点一个之后发现网址上有个后缀 id 2 应该是get传参的注入了 在后缀上加 id 1 1 显示全部文章 可能是整形注入 还是盲注 他这个过滤了空格 用 代替 详见web6
  • [SHCTF 2023]——week1-week3 Web方向详细Writeup

    Week1 babyRCE 源码如下
  • pwn入门:基本栈溢出之ret2libc详解(以32位+64位程序为例)

    目录 写在开头 题目简介 解题思路 前置知识 简要了解 plt表和got表 延迟绑定 例题详解 32位 64位 总结与思考 写在开头 这篇博客早就想写了 但由于近期事情较多 一直懒得动笔 近期被领导派去临时给合作单位当讲师 要给零基础的学员
  • BugKu-Web-滑稽

    题目环境 持续的动态图片 F12审查元素 拿下flag flag 595d994a34342417bfc3a3c3a23e0a48
  • 通过 url 将整数传递给 php $_GET

    所以我正在做一些 CTF 挑战之一是关于 php 类型杂耍 代码看起来像这样 if GET var1 hash md4 GET var1 print flag 所以我 80 确定我需要传入一个整数 这样它就会是真的 但我能操作的只是 url

随机推荐

  • 2022年第三届“大湾区杯”粤港澳金融数学数学建模竞赛

    2022年第三届 大湾区杯 粤港澳金融数学数学建模竞赛 文章目录 2022年第三届 大湾区杯 粤港澳金融数学数学建模竞赛 前言 一 分析B题 券商研报对公司股票走势的影响和投资策略 1 解读题目 2 第一问解析 3 第二问解析 4 第三问解
  • python读excel文件解析

    目录 一 题目描述 二 示例 三 分析 1 获取工作簿对象 2 获取表单的名字 3 通过表单名获取指定的表单对象 4 获取单元格中的值 一 题目描述 例如在当前文件夹下有一个名为 阿里巴巴2020年股票数据 xls 的Excel文件 读取并
  • Android Studio 自动更新

    一丶最近项目开发在用Android Studio 不过无奈自动更新检查时总是提示 Connection failed Please check your network connection and try again 怀疑可能是因为 不可
  • 关于vue3的使用插件FileSaver并且excel导出的实现方法

    参考文章 1vue elementui表格前端导出excel以及自定义导出样式 前端自定义报表模板 elementui 小郑有点困了的博客 CSDN博客 2Vue3 XLSX FileSaver导出导入功能 菜鸟学习JAVA开发的博客 CS
  • ESP8266 下载报错please check partition type 6 addr:3fd000 len:3000

    问题现象 串口打印 ESP8266 12F 的错误如下 ets Jan 8 2013 rst cause 2 boot mode 3 7 load 0x40100000 len 23948 room 16 tail 12 chksum 0x
  • 《信号与系统》解读 前言:为什么要解读《信号与系统》?

    什么需要解读 信号与系统 为什么需要开辟这个专题呢 1 基础理论的基础 2 工程技术的基础 3 建立系统思维 1 基础理论的基础 信号与系统 是 数字信号处理DSP 通信原理 数字通信原理 等其他基础课程的基础 传统的信号与系统偏硬件 现代
  • 写五个以科技为主题的html页面,要求用css实现,请写出实现代码

    在此基础上 我们可以创建五个以科技为主题的 HTML 页面 并使用 CSS 来实现设计 科技新闻页面 HTML 代码
  • Fibonacci数列(斐波那契数列)

    斐波那契数列 Fibonacci sequence 又称黄金分割数列 因数学家列昂纳多 斐波那契 Leonardoda Fibonacci 以兔子繁殖为例子而引入 故又称为 兔子数列 指的是这样一个数列 1 1 2 3 5 8 13 21
  • TCP的超时时间间隔的简单理解

    网上查了许多资料 都比较抽象 自我理解记录篇 本文适用于查了许多资料 但觉得还是比较抽象 有基础相关知识的人阅读 样本RTT SampleRTT EstimatedRTT 1 EstimatedRTT aSampleRTT 参考值 0 12
  • JS--变量

    变量在使用时分为两步 声明变量 赋值 1 声明变量 var age 声明一个名称为age的变量 var是一个JS关键词 用来声明变量 使用该关键词声明变量后 计算机会 自动为变量分配内存空间 不需要程序员管 age是程序员定义的变量名 我们
  • 《C++ primer plus》精炼(OOP部分)——对象和类(4)

    学习是人类进步的阶梯 也是个人成功的基石 罗伯特 肯尼迪 文章目录 友元函数 利用友元函数重载 lt lt 运算符 重载部分示例 矢量类 友元函数 先看看在上一章中我们作为例子的代码 class Student string name in
  • QComboBox 设置代理组件

    背景 QComboBox 是Qt中比较常用的一个输入控件 用于实现一个文本下拉列表 在简单的应用场景中 QComboBox 完全可以满足要求 但是项目实践过程中会遇到以下问题 需要实现比较复杂的下拉列表 比如同时显示图标 文字 按钮等 QC
  • CUDA学习(九)想好好解释一下利用shared memory去做matrixMul

    代码来自CUDA Samples v9 1 0 Simple matrixMul 主要注释了matrixMulCUDA C A B 它的理念是把矩阵分成小块 每个线程利用两层循环 大循环在迭代subMatrix 小循环则是迭代每个小subM
  • 【Android UI设计与开发】第08期:底部菜单栏(三)Fragment+FragmentTabHost实现仿新浪微博底部菜单栏

    PS 这是转载CSDN作者yangyu20121224的文章 真的非常不错 它主要讲述如何通过Fragment碎片实现点击TabHost切换页面 可惜作者很长时间没有更新了 他写的那系列文章都很实用 以后在做Android布局时会用到该篇文
  • Reading and Writing Images_OpenCV 3.0.0-dev documentation

    OpenCV 3 0 0 dev documentation OpenCV API Reference imgcodecs Image file reading and writing https docs opencv org 3 0 b
  • Python While 循环语句

    Python 编程中 while 语句用于循环执行程序 即在某条件下 循环执行某段程序 以处理需要重复处理的相同任务 其基本形式为 while 判断条件 condition 执行语句 statements 执行语句可以是单个语句或语句块 判
  • iOS开发抓包工具之Charles使用

    在iOS开发过程中 抓包是常见的必备技能之一 这里我们主要介绍一下Mac下的抓包利器Charles 文中版本 4 0 1 它可以非常方便的抓取Http Https请求 从而提高我们的开发效率 本文中不提供破解版安装使用说明 网上一大堆 建议
  • 单链表头插和尾插详解

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 链表定义 二 代码解析 1 程序代码 2 程序图解 前言 链表是一种常见的数据元素 它和我们之前学的数组不同 储存元素个数不受限制 操作难度也更大 为加强
  • Linux man手册一篇通

    linux man man是Linux的一个非常强的的命令 它的全称为manual 手册 有了它不用联网 轻松获取相关信息 man手册章节组成 man手册通常由多个类型章节组成 章节类型定义如下 章节 内容 中文 1 Executable
  • 攻防世界---getit

    getit 题目描述 菜鸡发现这个程序偷偷摸摸在自己的机器上搞事情 它决定一探究竟 题目附件 https adworld xctf org cn media task attachments e3dd9674429f4ce1a25c08ea