CTFToolKit密码获取

作者: Hell0_C | 来源:发表于2017-03-20 11:43 被阅读320次

在网上发现一个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的内容,即为工具包的解压密码。


相关文章

网友评论

  • 192adcc4eea9:你好,请问你还有该密钥吗,题目环境关闭了做不了,需要这个密码来解压。万分感谢!
    Hell0_C:@N0Truth 没那个密码了 我有解压好的工具包
    192adcc4eea9:@Hell0_C 是的,但是原作者说要在txt里面复制才能正确解压,直接输入是不行的,所以想问问您还保存着那个txt吗?
    Hell0_C:解压密码应该就是上面那个wyhctf{。。。}吧
  • 傻傻笨笨宝宝:CRC32碰撞 啥意思啊......
    这个题目哪里来的.

本文标题:CTFToolKit密码获取

本文链接:https://www.haomeiwen.com/subject/cyvbnttx.html