Shell脚本密码强制执行

时间:2012-09-27 04:54:58

标签: linux bash

首先,如果措辞不当,请首先道歉。将尝试清楚解释。

我有一个名为testpassword的二进制文件,用法可能相当明确。如下

./testpassword hello

如果你好正确密码,那么输出将是

pass=correct

如果你好不正确的密码,输出将是

pass=incorrect

我是Linux和shell脚本的完全初学者,但是制作了一个非常粗略的简单脚本,名为bruteforce.sh。使用单词列表执行“强力”攻击。内容如下

./testpassword hello
./testpassword jelly
./testpassword watermelon
./testpassword anotherword  
etc..

我在一个新的剧本中运行了以下内容,经过一段非常粗暴的方式,在成功时通知我

./bruteforce.sh 2 2>&1 >/dev/null | grep -n pass=correct

输出类似于12: pass=correct。其中12是bruteforce.sh中的行号

当我在屏幕上看到这个时,我可以按ctrl-c并运行

awk 'NR==12' bruteforce.sh

获取与行号对应的正确传递。我只是想知道是否有更简单或更清洁的方式来完成这个

的任何部分

提前感谢任何建议

1 个答案:

答案 0 :(得分:0)

也许这样的事情。

for i in {1..1000}; do
    (echo -n "$i: " && ./testpassword $i) | grep pass=correct
done

这只是在脚本输出之前回显当前密码。当然,{1..1000}可以替换为您打算使用的单词列表。