logo

Hgame2020 Final 新人スタッフ(Akira)

虽然有心理准备很难但没想到这么难,沦落为签到选手了。。。

Misc

0x01 Good Video

下下来不懂什么东西,file一下得知是mkv视频,观看的时候发现有些帧里藏着二维码碎片

1
ffmpeg -i GoodVideo.mkv %05d.jpg

直接解压成帧序列,因为二维码只由黑白组成所以按大小排序后很容易找到

image-20200307214913486

文件名即为帧位

拼起来扫

image-20200307215219453
hgame{gO0D_vId3O_EESvLoEPyC$zHlOJEHc0h&14}

0x02 Good Package

这题没做完,但是很接近了一起写写吧

追踪tcp流,发现两封邮件

image-20200307215953753

image-20200307220008830

分别导出数据,用winhex整理只保留base64部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fp = fopen("flag.png.zip", "rb");
FILE *o = fopen("flag.zip", "wb");
char c;
int i = 0;
while (fread(&c, 1, 1, fp))
{
if (c != 0x0D && c != 0x0A)
fwrite(&c, 1, 1, o);
}
free (fp);
free (o);
fclose (fp);
fclose (o);
return 0;
}
//去除\r\n
1
2
3
4
5
6
7
8
import base64
import sys

src = open("flag.zip").read()
out = open("res.zip", "bw")
res = base64.b64decode(src)
out.write(res)
#解码base64

得到dev.rsa和一个加密的zip

wireshark搜索pass,把所有密码试一遍

最后在telnet那段的密码成功解压,得到gpg加密过的文件

image-20200307220723690

———————————————————以下为未作部分———————————————————

wireshark导入dev.rsa做tls分析,得到gpgkey的base64,解码得gpgkey

image-20200307220925659

导入gpgkey并用gpg解密之前的到的gpg加密过的文件

image-20200307221128152

image-20200307221345215

咦惹

还挺好看的,去google搜个图,结果有意外收获

image-20200307221252712

winhex改png图片高度位

image-20200307221550232

原来为0848

image-20200307221644041

hgame{Re4Lly_gO0D_P4ck3ts_92252043}

总结

❀完结撒花❀

深刻的体会到了自己的菜,但是想到4周前php只听说过,python只会拿来当计算器的自己,感觉真是学到了很多东西,还有幸认识到了学长(学姐)和大佬们。

hgame玩得很开心,明年再来(