使用for循环暴力破解密码

使用for循环暴力破解密码

我只是想暴力破解我的旧路由器,但 for 循环确实是业余风格。如果我只知道包含的字符,如何编写一个漂亮的 for 循环?已经找到了页面,但它不包括我的案例。我想到了类似以下的内容,但显然它不起作用:

for word in $(cat charList)$(cat charlist); do echo ${word}; done

答案1

恢复出厂设置

为什么不直接将路由器重置为出厂设置并以这种方式获得访问权限?花费的时间会更少,并且可以在几分钟内返回。

For 循环

如果必须使用for循环:

$ cat charlist 
a
b
c
d
e
f
g

这个构造:

$ for i in $(cat charlist); do for j in $(cat charlist); do echo $i$j;done;done

例子

$ for i in $(cat charlist); do for j in $(cat charlist); do \
   echo $i$j;done;done | tail -5
gc
gd
ge
gf
gg

获取| tail -5完整列表。

使用大括号扩展

您还可以让 Bash 创建字符集,如下所示:

$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

$ echo {1..20}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

例子

$ for i in {a..z}; do for j in {a..z}; do echo $i$j;done;done | tail -5
zv
zw
zx
zy
zz

此外,您可以放弃一起使用循环,而只需让大括号扩展为您完成所有工作:

$ echo {a..z}{a..z}

例子

$ echo {a..z}{a..z} | cut -d" " -f1-10
aa ab ac ad ae af ag ah ai aj

再次删除| cut -d" " -f1-10,这是为了限制我对前 10 个组合的回答中显示目的的输出量。

答案2

支撑扩展:只允许连续字符

Hirachical for 循环:这是浪费命令行

我想我有一个很好的方法:使用评估大括号扩展

$ cat charList
a,b,_,X,5,1,' ',-,')',3
$ eval echo "{$(cat charList)}{$(cat charList)}{$(cat charList)}"

不幸的是我现在没有 bash,但这应该可以做到:

$ eval "for word in {$(cat charList)}{$(cat charList)}; do echo '${word}'; done"

相关内容