zipfile模块与zip文件爆破

<!DOCTYPE html>

zipfile模块与zip文件爆破

zipfile模块与zip文件爆破

关于zip文件的加密,你要知道AES加密

ZipFile.extract(member[path[pwd]])

将zip文档内的指定文件解压到当前目录

参数member指定要解压的文件名称或对应的ZipInfo对象;

参数path指定了解析文件保存的文件夹;参数pwd为解压密码

先准备一个zip加密压缩后的文件xx.zip,密码为123(你随意)


脚本

运行后,显示密码不对

下面改改脚本


图3

运行脚本,结果没有任何输出。。


反复检查+抓耳挠腮,搞不清原因在哪。

经人提示,将11行,改为 print e。输出了密码全都是错误的。怎么回事!zip命令加密没有出错啊!字典文件里明明有正确密码啊!


真相只有一个,排除了所有不可能,那就是— —,zip命令加密 和 zipfile模块加并不是同一种加密!(此时我的郁闷无法言表)

zip加密还有几种方式?

为了了解这一点,打开7-zip软件,右键添加到压缩包,看到压缩方法,有LZMA、LZMA2、PPMd、BZip2,至少有4种压缩方式。




少年你对力量一无所知!

看来,要想用脚本爆破,至少还要准确判断文件的压缩方法。。还能不能好好做渗透测试师了,软件工程要会、网络构建要懂、脚本要精通、密码学要熟练…… 我还是去搬砖吧。

书上这个例子经过实践证明完全没有卵用!(zipfile在windows下还工作不良),还是着重学习学习脚本怎么写吧!

上图3,就是平常做ctf 的样子,但是,还不够。要包装一下,让代码更有范。


定义一个功能函数、一个主函数。函数extracFile负责一次又一次尝试用字典密码解压,有两个参数,需要解压的文件,和待尝试的解压密码。

最后两行调用主函数。


增加线程功能,对多线程 应该比较熟悉了。


增加可以用来用户交互的功能,使用模块optparse。参考


optparse模块还不会用,不要紧,接下来还要详细介绍该模块的。