在網(wǎng)上發(fā)現(xiàn)一個(gè)CTF工具包,下載鏈接:https://pan.baidu.com/s/1boPl1vx 左电,密碼:tntt梭灿。當(dāng)我興致沖沖的下載完之后,發(fā)現(xiàn)還要解壓数冬,醉了。
原來是需要做CTF題目來得到密碼搀庶。
打開題目網(wǎng)址
http://123.207.114.37:10000/
提示:
1拐纱、HTML中input標(biāo)簽的placeholder屬性
2、CRC窮舉碰撞
3哥倔、文本隱寫
訪問之發(fā)現(xiàn)是一個(gè)類似于知乎的登錄界面
根據(jù)題目提示:HTML中input標(biāo)簽的placeholder屬性秸架,于是就先查找HTML中的placeholder的屬性。
發(fā)現(xiàn)placeholder屬性后面SnowIsWhiteAndFunny咆蒿,第一反應(yīng)就是HTML隱寫东抹,因?yàn)橐郧癈TF比賽也遇見過類似的隱寫題。
將源代碼保存到本地沃测,然后選擇全部選擇缭黔,突然發(fā)現(xiàn)確實(shí)存在隱寫區(qū)域。
可以使用在線解密蒂破,或者使用snow工具進(jìn)行解密试浙,工具下載。使用snow解密的時(shí)候需要密碼寞蚌,而密碼就是在我們剛才看到的地方田巴。
把頁面保存到本地,使用命令snow -C -p "SnowIsWhiteAndFunny" index.php
發(fā)現(xiàn)存在Password_is_here.7z文件挟秤,訪問之下載下來壹哺,我在想可不可以使用目錄掃描來發(fā)現(xiàn)這個(gè)文件呢?
下載下來發(fā)現(xiàn)是個(gè)加密的壓縮包艘刚,想著暴力破解一波管宵,可是沒有成功。于是就用winrar打開,發(fā)現(xiàn)了CRC32的信息箩朴。這才想起可以使用CRC32碰撞啊岗喉,以前也接觸過這樣的題目,直接上代碼:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import datetime
import binascii
def showTime():
print datetime.datetime.now().strftime("%H:%M:%S")
def crack():
crcs = set([0xA359AFC1, 0xCF5F72B9, 0xDF7BF1C9,0x6E38B65E])
r = xrange(32, 127)
for a in r:
for b in r:
for c in r:
for d in r:
txt = chr(a)+chr(b)+chr(c)+chr(d)
crc = binascii.crc32(txt)
if (crc & 0xFFFFFFFF) in crcs:
print txt
if __name__ == "__main__":
showTime()
crack()
showTime()
很快就得到了壓縮包的解壓密碼:CRC32_IS_EASY!!!
解壓后就可得到Secret.txt的內(nèi)容炸庞,即為工具包的解壓密碼钱床。