zoukankan      html  css  js  c++  java
  • ctf题目writeup(6)

    2019.2.2

    依旧是bugku上面的题目,地址:https://ctf.bugku.com/challenges

    1.

    解压后是60多个out.zip,都是真加密,里面都是1kb的data.txt

    也没有密码的提示。所以估计就得写脚本crc32爆破了。(一个txt 4字节,咱们不考虑中文,

    那就是4个英文字符或者英文符号啥的。)

    这里看了大佬们说的,大佬们直接看出来是base64了。。。。所以那句话就用了 +=

    脚本如下:(python2.7运行才行,3会报错的。)

    #coding:utf-8
    import zipfile
    import string
    import binascii
    
    def CrackCrc(crc):
        for i in dic:
            for j in dic:
                for p in dic:
                    for q in dic:
                        s = i + j + p + q
                        if crc == (binascii.crc32(s) & 0xffffffff):
                            #print s
                            f.write(s)
                            return
    
    def CrackZip():
        for I in range(68):
            file = 'out' + str(I) + '.zip'
            f = zipfile.ZipFile(file, 'r')
            GetCrc = f.getinfo('data.txt')
            crc = GetCrc.CRC
            #以上3行为获取压缩包CRC32值的步骤
            #print hex(crc)
            CrackCrc(crc)
    
    dic = string.ascii_letters + string.digits + '+/='
    
    f = open('out.txt', 'w')
    CrackZip()
    f.close()
    

      脚本大概意思九十,从我们的这个字典dic里面(由英文字符,+,=构成,base64的那种) 爆破出4位字符的 crc32 与当前压缩包的crc32进行对比,一样的话就把这串字符输入到我们的文件 out.txt里面。

    这个脚本得运行个几分钟,然后结果出来了,直接base64解码:

    在线工具乱码挺正常不用怕,直接复制粘贴到txt(可能提示,保存为unicode就行。)然后用winhex打开:

    注意最后一行 fix the file and get the flag

    说明得修补文件。

    文件尾是rar的文件尾,直接新建一个rar,照着补上rar的文件头就行了:

    最后在注释里面找到flag

    flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}

    2.

    下载后解压只有一个flag.txt打开后是 flag is not here 看了看详细信息也没什么。

    然后把压缩包binwalk一下,发现是个坑。。没进展。

    然后用winhex打开,pk,说明是zip,那就改个后缀,果然这回就不一样了:

    flag.txt还是那样没啥东西。。。这个flag.rar却值得注意。

    用winhex打开:

    可是这个png并没有出现,说明可能是损坏了这里修复一下:

    这里你可以自己找一张png然后和这个txt一块压缩一下,然后winhex看一下,对比一下哪里不一样就行了。 A8 34 7A 改成 A8 3C 74就行了

    然后就能发现能解压一个png(其实是gif,winhex打开后就知道了。)

    然后用stegsolve打开查看:

    只有半个。。。考虑到是gif,用下逐帧查看发现第二帧还是空白的。。。。这里纳闷很久,就把第一张和第二张都保存下来了。发现这俩还是gif。。。就改个后缀,继续用stegsolve看

    结果在第二帧的图的红色通道看到了这个:

    然后用ps拼接一下:

    然后保存下来,手机扫码或者电脑用qr来看都行:

     flag{yanji4n_bu_we1shi}

    3.

    下来之后用winhex打开是个png头,直接改成png后缀,变成了2b小姐姐的图片:

    查看详细信息,用stegsolve都没什么发现。

    然后拖到binwalk,分解出一个B2.png和伪加密压缩包:(binwalk其实直接就把伪加密里面的图分离出来了。。。)

    然后就是搞这个B2和这个2B两个图了。。。

    卡在这,看大佬说是 盲水印的方式:

    脚本:https://github.com/linyacool/blind-watermark

    下载后直接用就可以了,很好用也好理解,只不过第一次遇见真的懵逼。

    NUST{I_10v3_2B_F0r3v3r}

    4.

    这道题挺坑的。。。。

    这个txt是个base64:

    但是先不要着急解密,解密也什么都没有。

    QAQ用winhex打开 你会看到 <moduel>这样的字眼 还有什么 cipher.txt 这就很像pyc了 直接改后缀pyc

    然后用在线反编译(或者反编译工具):

    https://tool.lu/pyc/

    看起来就是个解密函数 咱们直接运行就行:

    所以提示就是 搞这个 STEGOSAURUS

    百度一下找到了这个:

    https://www.freebuf.com/sectool/129357.html

     是一个能在pyc文件里隐写的东西,真的牛逼。。。所以有工具就好办了下载下来用就行了 (支持python3.6 不支持2)

    python3 stegosaurus.py -x QAQ.pyc

    flag{fin411y_z3r0_d34d}

    5.

    下载图片后,jpg格式的没问题。直接binwalk,有个真加密的压缩包(rar格式的。)

    暴力破解肯定不现实。。。试试照片上的字是不是密码。。。:

    还真是,解出来一个txt ,一个摩斯电码,一个aes加密:

    首先把摩斯电码解开:

    它这里面斜杠先去掉 剩下的可能多多少少有点影响,不过现在看出来是个网站(这个网站是解密各种密码的网站。)

    http://encode.chahuo.com

    所以剩下的就简单了 网页后面那段:U2FsdGVkX18tl8Yi7FaGiv6jK1SBxKD30eYb52onYe0= 因该就是aes加密
    AES Key:@#@#¥%……¥¥%%……&¥  (这个就是密码) 

    用这个网站解开就行:

    这样我们要去的地方就是:

    http://c.bugku.com/momoj2j.png

    但是这个网页现在不知道为啥打不开了。。。看别人的wp知道是一个二维码(还需要再ps中反相一下)

    KEY{nitmzhen6}

  • 相关阅读:
    自定义博客园skin
    c++11: <thread>学习
    《明日方舟》Python版公开招募工具
    Python列表
    Python基础
    C#常用修饰符
    C#单例类的实现
    云服务器反黑客入侵攻防实录(一)
    在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
    技术漫谈 | 远程访问和控制云端K8S服务器的方法
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/10349079.html
Copyright © 2011-2022 走看看