记录各种教程上的例题和oj做题记录
非常杂!!!
今日来源–ctf wiki
2018 DEFCON Quals ghettohackers: Throwback
题目描述如下
Anyo!e!howouldsacrificepo!icyforexecu!!onspeedthink!securityisacomm!ditytop!urintoasy!tem!
第一直觉应该是我们去补全这些叹号对应的内容,从而得到 flag,但是补全后并不行,那么我们可以把源字符串按照 ! 分割,然后字符串长度 1 对应字母 a,长度 2 对应字母 b,以此类推
ori ='Anyo!e!howouldsacrificepo!icyforexecu!!onspeedthink!securityisacomm!ditytop!urintoasy!tem!'
sp = ori.split('!')
print repr(''.join(chr(97 + len(s) - 1) for s in sp))
进而可以得到,这里同时需要假设 0 个字符为空格。因为这正好使得原文可读。
dark logic
JarvisOJ BASIC 德军的密码
已知将一个flag以一种加密形式为使用密钥进行加密,使用密钥WELCOMETOCFF加密后密文为 000000000000000000000000000000000000000000000000000101110000110001000000101000000001
请分析出flag。Flag为12位大写字母
密钥的字符串长度为12。
密文的二进制长度为84,是密钥的7倍。
因此猜测加密方法是一次一密,使用的是ASCII码的后7位,不使用奇偶校验位。
Jarvis OJ veryeasy
使用基本命令获取flag
strings 命令
打印文件中可打印的字符,经常用来发现文件中的一些提示信息或是一些特殊的编码信息,常常用来发现题目的突破口。
- 可以配合 grep 命令探测指定信息
strings test|grep -i XXCTF
- 也可以配合 -o 参数获取所有 ASCII 字符偏移
root in ~/Desktop/tmp λ strings -o flag|head
14 IHDR
45 gAMA
64 cHRM
141 bKGD
157 tIME
202 IDATx
223 NFdVK3
361 |;*-
410 Ge%<W
431 5duX@%
file 命令
file 命令根据文件头(魔法字节)去识别一个文件的文件类型。
root in ~/Desktop/tmp λ file flag
flag: PNG image data, 450 x 450, 8-bit grayscale, non-interlaced
Jarvis OJ 手贱
题目描述:
某天A君的网站被日,管理员密码被改,死活登不上,去数据库一看,啥,这密码md5不是和原来一样吗?为啥登不上咧?
d78b6f302l25cdc811adfe8d4e7c9fd34
仔细观察这串字符是33位,发现不属于十六进制的字母l,将其删除,解密md5得到字符串hack
PCTF{hack}