взлом веб-сервера - PullRequest
       19

взлом веб-сервера

2 голосов
/ 18 января 2012

Привет, мне было поручено попытаться взломать проприетарную программу веб-сервера, которую использует моя компания, мне не особо повезло.Он построен в ц.

Он работает от имени пользователя root, и я пытаюсь заставить его выполнять команды.Веб-сервер принимает команды, размещенные в URL, и выполняет эти команды с префиксом.Теперь я могу передать любую команду, например '& _cmd = gettimeout' или '& _cmd = rm'.Программа на самом деле запустит «prefix rm»

Префиксная программа попытается выполнить эту команду в наборе каталогов, из которых нет полезных команд unix, поэтому просто сообщит, что команда не найдена.Также невозможно передать пробелы в URL, такие как '& _cmd = rm% 20-f', так как скрипт php преобразует пробелы в +.Есть ли какой-либо способ форматирования строки & _cmd для запуска реальных команд Unix?

Немного странная задача, но я учусь на курсе по безопасности, и моя работа пытается найти какую-то работу для меня относительно моего курса.

Спасибо за помощь

1 Ответ

1 голос
/ 18 января 2012

Некоторые идеи могут работать, могут и не работать:

  1. Обратные Кавычки. Если повезет, они будут оценены до запуска prefix. Если не повезет, они все равно могут служить вам.
  2. Если пробелы не работают, почему бы вам не попробовать другие виды пробелов? Там есть вкладка и многое другое.
  3. Вам нужно найти, какие именно команды можно использовать, и выяснить, помогают ли они.
  4. Вы можете обнаружить переполнение буфера в одной из разрешенных команд. Обычно такие переполнения не являются угрозой безопасности (если вы принимаете vi, вы ничего не можете сделать, так или иначе). Но в этом контексте вы можете использовать их.
  5. Вы можете найти исполняемые файлы в /proc/, если вы можете туда попасть - он содержит ссылку на команду каждого процесса.
...