2017-02-02 2 views
3

Я хочу выполнить команду в ящике Linux, но я должен отправить команды в формате base64.Декодирование из base64 и выполнение команды

Как я могу декодировать строку base64 в команде Linux, а затем выполнить декодированную строку?

+0

шахта 'base64' установленные как команды, в противном случае, если у вас есть OpenSSL, он также может декодировать' OpenSSL base64 -d': попробуйте, например, '$ (echo 'ZWNobyBhYmMK' | openssl base64 -d)' ** Примечание ** Если у вас нет контроля над base64, будьте осторожны, он может содержать rm -rf ~ или другие аккуратные вещи –

+0

@Stefan Вы испытали плохое моменты с базой64 в частности? – TGrif

+0

Нет, но защищенные системы, такие как серверы AIX, где openssl уже был, но base64 не был. Просто используя то, что я нашел полезным и привык к этому. –

ответ

4

Использование base64 -d:

# 'string' variable contains a base64 encoded command 
command=$(base64 -d <<< "$string"); decode_status=$? 
# run the command only if decode was successful 
# we shouldn't enclose $command in double quotes in this case 
[[ $decode_status == 0 ]] && $command 
Смежные вопросы