CTF题目记录1

记录各种教程上的例题和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

CTF题目记录1_第1张图片
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}

你可能感兴趣的:(CTF题目记录)