WebShell-Cli -это сценарий Python, который позволяет получить доступ к связанным с ним веб-оболочкам в командной форме. WebShell-CLI поддерживает изменение текущего рабочего каталога, устанавливает переменные среды и позволяет легко загружать и загружать файлы.


WebShell-Cli -это просто сценарий Python. После установки требований вы сможете запустить их:
[qtc@devbox ~] $ git clone https://github.com/qtc-de/webshell-cli
[qtc@devbox ~] $ cd webshell-cli
[qtc@devbox webshell-cli] $ pip3 install --user -r requirements.txt
[qtc@devbox webshell-cli] $ python3 webshell-cli.py
usage: webshell-cli.py [-h] [-m] [-f FILE_HISTORY] [-s SHELL] url
webshell-cli.py: error: the following arguments are required: urlWebShell-Cli работает только с Webshells, которые были специально созданы для этого проекта. Вы можете найти поддерживаемые веб -машины в каталоге Webshells. В настоящее время поддерживаются следующие технологии на стороне сервера:
Кроме того, каталог WebShells содержит сценарий сборки для строительства .war Archives.
WebShell-Cli поддерживает некоторые специальные команды, которые можно использовать, используя восклицательный знак в качестве первого символа в командной строке. Ниже вы можете найти список поддерживаемых в настоящее время специальных команд:
!background <cmd> выполнить указанную команду в фоне!download <rfile> [<lfile>] Скачать удаленный файл с сервера!upload <lfile> [<rfile>] загрузите локальный файл на сервер!get <rfile> [<lfile>] псевдоним для скачивания!put <lfile> [<rfile>] псевдоним для загрузки!eval <lfile> Оцените локальный файл на сервере (доступен только для PHP)!env [<var>=<val>] Установите переменную среды!help показать это меню помощи При использовании команды !env без указания переменной она выводит список, содержащий в данный момент установленные переменные. Когда был указан !env clear , все добавленные вручную переменные среды удаляются.
Вы можете использовать пользовательскую команду оболочки для каждой оболочки, используя опцию --shell . Команды оболочки по умолчанию - /bin/sh -c для Unix и cmd.exe /c для Windows. Как насчет оболочки base64 ? Без проблем:
[qtc@devbox ~] $ webshell-cli 172.18.0.2/webshell.php --shell base64
[nobody@efd0355fda4c /var/www/html/public] $ /etc/issue
V2VsY29tZSB0byBBbHBpbmUgTGludXggMy4xNQpLZXJuZWwgXHIgb24gYW4gXG0gKFxsKQoK По умолчанию WebShell-Cli использует файл истории ~/.webshell_cli_history , чтобы предоставить вам историю командной строки для ваших последних команд. Вы можете использовать опцию -f , чтобы указать другое местоположение для хранения файла истории или использовать опцию -m для использования истории команды в памяти.
Вклад в этот проект всегда приветствуются. Папка DOCS содержит спецификацию, в которой перечислены требования для веб-обож, которые можно было бы употреблять в WebShell-CLI . Кроме того, в документации перечислены некоторые дизайнерские решения, поскольку некоторые вещи не были настолько простыми для реализации.
Этот проект предназначен для использования только для проблем CTF и образовательных целей. Поскольку в Интернете доступно множество веб -сборов, а оболочки этого репозитория даже не реализуют запутывание или шифрование, они в любом случае не будут полезны для атак реального мира.