美文网首页
PCTF-BrokenPic

PCTF-BrokenPic

作者: 2mpossible | 来源:发表于2017-09-22 18:38 被阅读0次

    下载下来是一个bmp文件,但是却打不开,010editor打开看十六进制,推测是少了文件头,百度bmp文件头,找到文件头:424D,于是加进去,但是文件仍然打不开,到这里不知道该怎么办。看了别人的WP才知道文件头不止前面2个,于是用ps新建一个1366*768大小的bmp图片

    image.png

    将它加到题目文件开头,打开发现有东西

    image.png

    发现二维码扫不了 但是有个key,结合十六进制是16个字节规律变化的,所以是AES的ECB加密
    那么网上找个AES解密脚本改改就行了

    # -*- coding: utf-8 -*-
    from Crypto.Cipher import AES
    BS = AES.block_size
    pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
    key ='PHRACK-BROKENPIC'
    cipher = AES.new(key)
    f = open('brokenpic.bmp','rb')
    data = f.read()
    # print data
    decrypted = cipher.decrypt(data)
    bmp_head_bin="424D3B0C300000000000360000002800000056050000000300000100180000000000020c3000120B0000120B0000000000000000000000000000000000000000"
    i=0
    bmp_head=""
    while(i<len(bmp_head_bin)):
        print bmp_head_bin[i:i+2].decode('hex')
        bmp_head+=bmp_head_bin[i:i+2].decode('hex')
        i+=2
    print bmp_head
    f1 = open('123.bmp','w')
    #print decrypted
    f1.write(bmp_head)
    f1.write(decrypted)
    f1.close()
    
    image.png

    扫描得到flag

    参考资料:
    http://likang.me/blog/2013/06/05/python-pycrypto-aes-ecb-pkcs-5/
    http://www.bystudent.com/?p=234

    相关文章

      网友评论

          本文标题:PCTF-BrokenPic

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