# [BJDCTF2020]藏藏藏
打开题目后发现
直接打开下面的jpg文件 出现一个二维码 扫码得flag{you are the best!}
[BJDCTF2020]鸡你太美
可以发现打开压缩包里面有两张gif图片
但是第一个gif图片打不开我们把它拖到010Editor 去查看
我们可以发现 第二个gif图片没有文件头 我们把GIF的文件头补齐 就可以拿到flag
47 49 46 38
添加过文件头之后就可以查看图片
1 | flag{zhi_yin_you_are_beautiful} |
[BJDCTF2020]纳尼
同样的少了GIF的文件头 加上文件头后得到一串字符 可用ps或者stegsolve一帧一帧查看
拿到一串字符Q1RGe3dhbmdfYmFvX3FpYW5nX2lzX3NhZH0==
经过base64解密可得CTF{wang_bao_qiang_is_sad}
[BJDCTF2020]认真你就输了
打开后发现一个xls文件
翻译之后
在kali里面binwalk一下 发现端倪
在来一次foremost分离
1 | flag{M9eVfi2Pcs#} |
[BJDCTF2020]just_a_rar
打开是一个密码为四位数的压缩包
来一波暴力破解
查看图片属性拿到flag
[BJDCTF2020]一叶障目
打开得到一个png图片 在windows可以正常打开 但是linux里面不能打开
拖入010 Editor中
提示CRC报错
直接附上修复脚本
1 | #coding=utf-8 |
[BJDCTF2020]你猜我是个啥
用010打开
发现是png文件 修改文件后缀 得到一个二维码
扫描二维码得到
再次去010中搜索 得到flag
[BJDCTF2020]这是base??
1 | dict:{0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='} |
这是标准的base64表
看起来像是字符替换
于是可以写脚本进行替换和decode得到flag,脚本如下
1 | import base64 |
[BJDCTF2020]JustRE
拿到先查壳
得到信息: 1.无壳 2.32位
32位IDA 打开
main函数没有发现什么有用的信息 检索程序的字符串后 发现了一串有用的东西
跟进找到 关键函数
1 | 直接看14行代码sprintf补齐 |
[BJDCTF2020]signin
打开后
直接16进制转化拿到flag
1 | BJD{We1c0me_t4_BJDCTF} |