[CTF]利用CRC32绕过RAR密码(适合于小文本文件)

来源:互联网 发布:西瓜影音 mac 编辑:程序博客网 时间:2024/06/05 19:07

利用CRC32绕过RAR密码(适合于小文本文件)

原文标题:教你绕过rar密码

文章仅作rar密码破解的探讨,如有高见还望提出。

  题目有点夸大其词,事实是我也没能想出一个更好的描述来总结这篇文章的内容,所以才写了这么一个标题。

  问题背景:某bbs娱乐区发布49选1的彩票,规则很简单,每次由管理人员设置一个1~49的数字,放在txt文件中,然后再用rar加密,上传到帖子的附件中,然后由会员用论坛货币购买自己所选的号码,对应可以选多少注,每注多少钱等等。

  问题思考:从rar的角度而言,网络上还是有很多暴力破解的软件的,但是如果你的密码强度够好,比如数字字母特殊符号一起再长达几十位,个人电脑几天不关机也破解不出来。所以这种方法最最不可取。当破解代码的代价远远大于破解到的目标的价值时,没有人会去这么做。

这里写图片描述

  读者可以自己测试一下,一个字节的txt文本(也就是一个txt文本中只含有一个数字)
  压缩前为大小为1,压缩后大小也为1,加密压缩后大小为16;
  2字节的txt文本,压缩前大小为2,压缩后大小为2,加密压缩后大小为16。
  如果文本使用utf-8编码的话对应文本会比ansi编码大3,加密压缩后依然为16。

转者:无BOT格式的UTF-8文本和ansi编码一样的,编码大3在于BOM头。

**矛盾出现:**rar的压缩文档中是提供一个CRC32的值,这个值是文档在压缩之前的CRC32值,相信很多人都知道:每个不同的文件都有唯一的一个CRC32值,就算是可能有重复的,那么在内容为1~49的这个小范围内的txt文本也不会有重复。为此,我用hash检测工具挨个测试,并列出了一个表。

txt文本中的内容 CRC32的数值 1 83DCEFB7 01 CF412436 2 1AD5BE0D 02 5648758C 3 6DD28E9B 03 214F451A 4 F3B61B38 04 BF2BD0B9 5 84B12BAE 05 C82CE02F 6 1DB87A14 06 5125B195 7 6ABF4A82 07 26228103 8 FA005713 08 B69D9C92 9 8D076785 09 C19AAC04 10 A15D25E1 11 D65A1577 12 4F5344CD 13 3854745B 14 A630E1F8 15 D137D16E 16 483E80D4 17 3F39B042 18 AF86ADD3 19 D8819D45 20 8A707622 21 FD7746B4 22 647E170E 23 13792798 24 8D1DB23B 25 FA1A82AD 26 6313D317 27 1414E381 28 84ABFE10 29 F3ACCE86 30 936B4763 31 E46C77F5 32 7D65264F 33 0A6216D9 34 9406837A 35 E301B3EC 36 7A08E256 37 0D0FD2C0 38 9DB0CF51 39 EAB7FFC7 40 DC2AD1A4 41 AB2DE132 42 3224B088 43 4523801E 44 DB4715BD 45 AC40252B 46 35497491 47 424E4407 48 D2F15996 49 A5F66900

转者:研究表明,文件名与CRC32无关。压缩后大小和本文范畴貌似无关

很明显,没有重复的。(上面是ANSI编码的时候测试的,UTF-8的肯定和这个不一样。)

转者:UFT-8的BOM头影响。实际UTF-8与ANSI一致

解决问题:根据上面列出的表格,图片中CRC32为13792798的txt文本文档的内容为23。

反破解方法,在文本中加入其它任意文字即可。呵呵…

原文:鸟儿博客

原创粉丝点击