我目前正在上网络安全课程,我们需要破解散列密码。为此,我们使用 hashcat。由于有很多散列,我正在尝试编写一个脚本,用列表中包含的所有散列测试散列密码。我的脚本如下:
1 #! /bin/bash
2 listhsh="hashlist.txt"
3
4
5 while read file; do
6 echo $file
7 hashcat -a 0 -m $file -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
8 done < $listhsh
该文件包含以下值。这些是定义要测试的哈希类型的代码。
900
0
5100
100
1300
1400
10800
1700
5000
600
我遇到的问题是脚本打开文件,获取包含要测试的哈希类型代码的第一行,然后运行 hashcat 中的值$file=900
。但是,一旦使用第一个值完成测试,脚本就会执行具有相同值的 hashcat $file=900
。所以最终结果是 hashcat 执行相同的测试,$file=900
次数与列表中的值一样多。
一种选择可能是
for
循环。该-m
选项用于运行哈希。该文件应该输入值并循环每个哈希类型。以下更改应该对您的脚本有所帮助。我代替
hash
了file
。作为测试,我将这条线作为回声线运行,看看它是否可以工作:
希望这可以帮助!
你没有引用你的扩展,所以它们正在由 shell 评估,这可能是有问题的。尝试这个:
这些可能有用:
https ://unix.stackexchange.com/questions/68694/when-is-double-quoting-necessary
https://www.cyberciti.biz/faq/unix-howto-read-line-by-文件中的行/