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
👆可以看出来:
由于 % 需要被替换,所以对应的位置用不等于 % 的 ? 代替了;
由于 @ 不允许替换,所以对应的位置就保留了 @ 。
问题反馈