Я обнаружил уязвимость командного внедрения в Linux. Система не допускает никаких символов пробела, означающих

Следующая команда работает:

;ls

Но я хочу предоставить команду с пробелом, как:

;ls -l

Так как это не позволяет пробелы, это не работает. Я пробовал с несколькими вариантами, такими как Hexa для пробела, восьмеричные, используя /NULL символы /a, /t и т.д., Но ничего не работает.

Вкратце, есть ли возможность вводить несколько команд оболочки без пробелов в оболочке bash?

Более подробно, это веб-приложение, которое общается с Linux напрямую. Что бы я ни вводил в веб-приложениях - это отразится на командной строке Linux. Если я войду

;ls -a (it does not work due to space)
;ls;ifconfig; (it works and shows both commands)

1 ответ1

0

Следующая строка не содержит пробелов, но в обычном bash она должна запускать ls -l:

IFS=_;command='ls_-l';$command

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