Почему я не могу выполнить эту команду подпроцесса Pytho на моей машине Windows 10? - PullRequest
0 голосов
/ 12 апреля 2020

Я еще не так в Python, и у меня есть следующая проблема (я изучаю курс Python, применяемый для безопасности).

На моей Windows 10 машина установлена ​​Python 2.7.17 версия.

Тогда у меня есть очень простой скрипт:

#!/usr/env/bin python

import subprocess

command = "msg you have been hacked !!!"

# Popen() continue the program and doesn't wait that the command is completly finished to terminate the script execution:
subprocess.Popen(command, shell=True)

Проблема в том, что когда я пытаюсь его выполнить, я получаю это ошибка:

C:\Users\myuser\Desktop\python_evil>python execute_command.py

C:\Users\myuser\Desktop\python_evil>you inesistente o disconnesso

Ошибка кажется мне очень странной (наполовину по-английски sh (вы) и наполовину по-итальянски). В основном это говорит: Вы не существуете или не отключены

Почему? Что не так? Что мне не хватает? Как я могу исправить эту проблему и правильно выполнить эту команду?

1 Ответ

0 голосов
/ 12 апреля 2020

Ошибка кажется мне очень странной (наполовину по-английски sh (вы) и наполовину по-итальянски). В основном это говорит: вы не существуете или не отключены

you происходит от команды, именно поэтому она появляется в Engli sh. Остальное происходит от Windows, поэтому оно отображается на итальянском (ваш локализованный язык).

Если вы попробуете msg самостоятельно в командном окне, вы получите информацию об использовании, которая объясняет проблему :

Send a message to a user.
MSG {username | sessionname | sessionid | @filename | *}
    [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message]

  username            Identifies the specified username.
  sessionname         The name of the session.
  sessionid           The ID of the session.
  @filename           Identifies a file containing a list of usernames,
                      sessionnames, and sessionids to send the message to.
  *                   Send message to all sessions on specified server.
  /SERVER:servername  server to contact (default is current).
  /TIME:seconds       Time delay to wait for receiver to acknowledge msg.
  /V                  Display information about actions being performed.
  /W                  Wait for response from user, useful with /V.
  message             Message to send.  If none specified, prompts for it
                      or reads from stdin.

В результате msg you have been hacked !!! интерпретируется оболочкой как команда msg, где you (имя пользователя, имя сеанса или идентификатор сеанса), а have been hacked !!! - это сообщение. Но в вашей системе нет пользователя с именем you, и нет сеанса входа в систему с этим именем или идентификатором, поэтому программа msg выдает ошибку - она ​​не может определить, кто должен видеть сообщение.

Кстати: особенно если вы изучаете безопасность, вам действительно нужно обновить Python установку. Ветвь 2.x больше не поддерживается , даже из соображений безопасности , и окончательный выпуск (код, замороженный с 1 января) находится в процессе разработки. самая последняя версия на сайте: 3.8.2 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...