使用 crunch 生成类似邮箱这种需要保留特殊字符的字典
2022-11-01 15:00:55510浏览
本文以生成邮箱字典为例,示范如何使用 crunch 生成保留特殊字符(@/%/,/^)而不是按照 crunch 规则进行替换的字典。

一、为什么会产生这样的问题?

1. 假如我们现在知道了一个邮箱的部分信息

135????2246@xx.cn

并且知道它的登录密码,那么我们可以使用暴破的方法来找出具体的邮箱账号。

2. 但是 crunch 中的 @ 会被替换掉

如果使用命令:

crunch  17 17  -t 135%%%%2246@xx.cn

生成的字典将以:

13500002246axxx.cn

开头,可以看到我们的 @ 符号已经被替换成了字母 a ,这显然不是我们期望的邮箱的格式。

二、解决方案:使用 -l 参数

1. -l 参数的使用方法

-l 参数接受一个类似于模板的值,这个模板就相当于一个“掩码”,它的“掩盖”规则是:

如果 -t 参数第 n 位的特殊字符与 -l 参数第 n 位的特殊字符相等,那么这个特殊字符将会原样输出,而不是背替换。

2. 看不懂不要紧,看下图

👆 简单来讲,就是如果 -l 参数和 -t 参数的第 12 位都是 @ ,那么生成的字典里的每一项,其第 12 位都是 @。

3. 以上面的邮箱为例,生成对应邮箱的 crunch 命令为

crunch  17 17  -t 135%%%%2246@xx.cn -l  135????2246@xx.cn
👆可以看出来:
由于 % 需要被替换,所以对应的位置用不等于 % 的 ? 代替了;
由于 @ 不允许替换,所以对应的位置就保留了 @ 。

友情链接: