文件的内容只有相同的时候他的crc校验才会一样.只要已知压缩文件的长度已知就可以获取他的crc32值来与我们的内容计算得到的值进行相互比较, 从而得到文件内容.(前提是文件内容长度够小才可以通过这种方法来实现,否则内容过长pc的算力有限)
现在有一个flag.zip 里面有一个flag.txt 文件 密码未知
使用模块如下:
得到文件的内容为4个字节长度
字典模块通过string模块得到
调用:
如果文件内容过长的话, 通过这种方式就不现实了.
解压文件得到如下的压缩文件
得到每个压缩包都是4个字节的大小, 压缩的文件为data.txt, 通过脚本得到文件内容, 脚本如下:
运行结果部分如下:
可以看见才多长这个东西很考验pc的性能, 然后直接进行base64解码, 得到的内容转为rar格式的文件, 然后补全文件头得到flag, 这里具体就不阐述了
得到的内容如下:
个人网站
可以在写入配置文件的时候,进行加密,读取配置后解密即可比如使用base64加密:
base64.b64encode加密,base64.b64decode解密