攻防世界---getit

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;
} 

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
攻防世界中,"get_post" 是一个题目,要求学习如何使用GET和POST请求来传递参数。在这个题目中,首先让我们使用GET方式传递一个名为a,值为1的变量。我们只需要在URL窗口输入"/?a=1"并回车即可。接下来,又让我们使用POST方式传递一个名为b,值为2的变量。我们可以使用一些工具来执行这个操作,比如Max Hackbar(Hackbar的替代品)。在Max Hackbar中,我们将题目的地址粘贴到第一个窗口中,在下方窗口中输入"b=2",然后点击"Execution"按钮,即可得到flag。此外,我们也可以使用Python编程代码来发送POST请求,准备要提交的数据并发送请求,然后处理响应并打印出来。以上就是攻防世界中关于"get_post"题目的解答方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#winform工具模拟getpost请求,app防攻击加密源码](https://download.csdn.net/download/xiaogxiao/9638711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [攻防世界:get_post](https://blog.csdn.net/qq_57061511/article/details/117886323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【攻防世界】get_post](https://blog.csdn.net/m0_74979597/article/details/131676045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值