Просто для удовольствия я сделал очень простую программу Python:
var = "bello"
pas = raw_input("insert password\n")
if(pas==var):
print("\naccess granted\n")
print("\ncool information")
else:
print("\naccess denied")
Теперь я попытался получить доступ к принудительному доступу, используя хруст, с оболочкой на терминале ubuntu:
crunch 1 5 | python pex.py
pex.py - это имя программы. Но это не работает, я подозреваю, что выполнение программы не повторяется, но я не знаю, как заставить эту грубую силу атаковать работу. Вы можете мне помочь? Лучше с полным объяснением.
Первый выход в файл. Это имеет побочное преимущество, которое вы можете проверить, какой хруст сгенерирован. Однако вы можете пропустить файл.
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
Удалите &, чтобы сделать ее последовательной, а не параллельной.
Очищайте массив из среды, если хотите.
Вместо того, чтобы брать raw_input
, получите аргументы, переданные при вызове программы с помощью sys.argv
.
pas = argv[1]
Затем, когда вы вызываете python pex.py <password>
, pas
получит значение <password>
.
Если пароль несколько слов, это не сработает. Вам нужно будет присоединиться к содержимому sys.argv
(исключая 0-й элемент, имя программы) с помощью ' '.join()
.
pas = ' '.join(argv[1:])