January 4, 2022

ACTF新生赛2020-fungame

0x00 日常查壳

无壳32位

0x01 白给flag?

然而并没有结束

0x02 PWN!

说实话这题放Re里奇奇怪怪,对PWN来说太简单,对Re来说没了解过栈溢出可能有点懵,这里我就为没了解过PWN的RE手简单介绍一下

首先我们的思路是找到后面到底干了什么

拼接一下?还是不行..

那么我们接下的思路就在奇怪的Destination上了

于是就可以正常跳过去了(自己动手调试下就懂了)

0x03 GetFlag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main(void)
{
unsigned char _y1[] =
{
  0x23, 0x61, 0x3E, 0x69, 0x54, 0x41, 0x18, 0x4D, 0x6E, 0x3B,
  0x65, 0x53, 0x30, 0x79, 0x45, 0x5B
};
unsigned char _y2[] =
{
  0x71, 0x04, 0x61, 0x58, 0x27, 0x1E, 0x4B, 0x22, 0x5E, 0x64,
  0x03, 0x26, 0x5E, 0x17, 0x3C, 0x7A
};
    int i;
    for ( i = 0; i < 16; i++ )
        printf("%c", _y1[i] ^ _y2[i]);
    return 0;
}
//Re_1s_So0_funny!=#@a1s0_pWn

GetFlag!

(感觉哪天在Bilibili出期这题的视频wp也许可以讲的更清楚)

DASCTF X SU
🍬
HFCTF2022
🍪

About this Post

This post is written by P.Z, licensed under CC BY-NC 4.0.