好多压缩包

一共68个压缩包,emmmmmmm,crc32碰撞



#coding:utf-8import zipfileimport stringimport 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 + '+/='

于是可以得到一段base64,用python解码,不要用在线工具解码= =

# coding=utf-8

import base64

f1 = open('out.txt','r')text = f1.read()

str1 = base64.b64decode(text)

f2 = open('flag.txt','w')f2.write(str1)

f1.close()f2.close()


用16进制打开,由于是rar文件结尾,再给flag.txt文件加上rar文件头52 61 72 21 1A 07 00

发现zip.rar中还有一个名为CMT的文件,然后把该文件的压缩文件头AA 3E 7A....修改为AA 3E 74...后保存,再次打开即可获得包含flag的文件CMT。CMT即为comment,即为注释


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,247评论 3 53
  • 路转向辽天,游人犹洞仙。 槟榔挥翠袖,鸟兽戏清泉。 游目山兰熟,骋怀村酒鲜。 刀耕无觅迹,新画出层巅。
    陈奋阅读 413评论 0 2
  • 来到一个城市最快认识它的办法就是坐公交车,地铁太繁忙大部分时间只在底下运行,难以观察城市的面貌,人来人往,多以年轻...
    说书客阅读 271评论 0 0
  • 1、通知收费情况,已完成; 2、食品检查可以适当放宽要求,手机以及电子产品坚决不能进校园; 3、最后十天的最后疯狂...
    幸福打开快乐阅读 71评论 0 1