記錄各種教程上的例題和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}