CTFToolKit密码获取
2017-03-20 本文已影响320人
Hell0_C
在网上发现一个CTF工具包,下载链接:https://pan.baidu.com/s/1boPl1vx ,密码:tntt。当我兴致冲冲的下载完之后,发现还要解压,醉了。
原来是需要做CTF题目来得到密码。
打开题目网址
http://123.207.114.37:10000/
提示:
1、HTML中input标签的placeholder属性
2、CRC穷举碰撞
3、文本隐写
访问之发现是一个类似于知乎的登录界面
根据题目提示:HTML中input标签的placeholder属性,于是就先查找HTML中的placeholder的属性。
发现placeholder属性后面SnowIsWhiteAndFunny,第一反应就是HTML隐写,因为以前CTF比赛也遇见过类似的隐写题。
将源代码保存到本地,然后选择全部选择,突然发现确实存在隐写区域。
可以使用在线解密,或者使用snow工具进行解密,工具下载。使用snow解密的时候需要密码,而密码就是在我们刚才看到的地方。
把页面保存到本地,使用命令snow -C -p "SnowIsWhiteAndFunny" index.php
发现存在Password_is_here.7z文件,访问之下载下来,我在想可不可以使用目录扫描来发现这个文件呢?
下载下来发现是个加密的压缩包,想着暴力破解一波,可是没有成功。于是就用winrar打开,发现了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的内容,即为工具包的解压密码。