第二届BJDCTF Writeup
Misc
最简单的misc
zip 压缩包伪加密,改完标志位,解压得到文件 secret 。winhex 打开发现头部有 IHDR 标志,盲猜一个 PNG 文件,补一个文件头 89504E47 ,改后缀名。
隔壁是作者,重点是下面。十六进制转 Ascii 得到 flag 。
A_Beautiful_Picture
下载一个 png ,改高度得到 flag 。
EasyBaBa
jpg 19.9M 你见过么?反正我没见过。binwalk 一下没有东西,foremost 一下出来一个压缩包,里面还是一个大得出奇的 jpg 。winhex 看了一下 avi 文件,改后缀名,得到一段鬼畜,pr 逐帧查看视频,找到四个二维码,扫码。十六进制转 Ascii 码,转码后调整顺序得到 flag 。
问卷调查
认真填写才能获得 flag
小姐姐
用 stegdetect 检查 jpeg 文件,发现 jphide 加密。
1 | stegdetect.exe -s 20 xiaojiejie.jpeg |
然后爆破密码?
对,没错想多了。只需要这样:
Real_EasyBaBa
winhex 打开文件,仔细看,就能获得 flag 。
Crypto
签到
base64 加密
cat_flag
?:0 。?:1 。二进制再转字符串。
燕言燕语
十六进制转 Ascii ,再转维吉尼亚密码。密钥在 Ascii 解码后字符串前面
Reverse
guessgame
IDA打开,shift + F12 查看字符串,得到 flag 。
8086
asm8086 单片机么?这个比较曲折,用物理机 IDA 逆向出奇奇怪怪的指令,用虚拟机 IDA 逆向就能看得懂大半部分。加密方式就是异或,密文是 aUDuTZWjQGjzZWz 的值。
1 | lea bx, aUDuTZWjQGjzZWz ; "]U[du~|[email protected]{[email protected]}[email protected]{[email protected]~/b;" |
完整exp
1 | m = [0x5D, 0x55, 0x5B, 0x64, 0x75, 0x7E, 0x7C, 0x74, 0x40, 0x7B, 0x7A, 0x40, 0x77, 0x6A, 0x2E, 0x7D, 0x2E, 0x7E, |
Pwn
r2t3
跟攻防世界的一道题类似。漏洞在 name_check() ,会将传入参数 s strcpy 给 &dest 造成溢出。
1 | char *__cdecl name_check(char *s) |
完整exp:
1 | from pwn import * |
one_gadget
感觉在哪里见过?
开局给提示:printf 函数地址,然后要求输入,输入完成后,会执行输入地址。所以依据给出地址计算 offset ,算出 one_gadget 真实地址输入。
one_gadget 输入应该是十进制数,一开始 p64() ,做不出来。
完整exp:
1 | #!/usr/bin/python |