为了好玩,我做了一个非常简单的Python程序:
crunch 1 5 | python pex.py
现在我尝试使用crunch强制访问,在ubuntu终端上使用shell:
_switchValue
pex.py是程序的名称。但它不起作用,我怀疑程序的执行不会迭代,但我不知道如何使这种暴力攻击工作。 你能帮助我吗?更好的完整解释。
答案 0 :(得分:1)
不是取raw_input
,而是在使用sys.argv
调用程序时传递参数。
pas = argv[1]
然后,当您致电python pex.py <password>
时,pas
将设置为<password>
。
如果密码是多个单词,则无效。您需要使用sys.argv
加入' '.join()
的内容(不包括第0个元素,即程序名称)。
pas = ' '.join(argv[1:])
答案 1 :(得分:0)
首先输出紧急文件。这有一个附带的好处,你可以实际检查生成的紧缩。但是,您可以跳过该文件。
crunch 1 5 >> pas.txt
将文件加载到环境数组(BASH 4示例)
readarray pas_a < ./pas.txt
每个密码执行一次
for pas in "${pas_a[@]}"
do
./python pex.py "$pas" &
done < ./pas.txt
删除&amp;使它顺序而不是平行。
如果您愿意,请从环境中清除阵列。