14.12.4. Полный путь
14.12.4. Полный путь
Когда вы запускаете какие-либо команды или программы, то необходимо указывать полный путь к ним. Большинство пользователей и администраторов просто указывают имя запускаемого объекта, что может стать причиной взлома. Да что там говорить, я сам грешу вводом коротких команд
Рассмотрим пример того, как злоумышленник может использовать короткие имена в своих целях на примере команды ls:
? хакер создает в каком-либо каталоге (например, в общедоступном /tmp) файл с таким же именем, как и у атакуемой программы;
? в этот файл может быть записан сценарий, который выполняет необходимые хакеру действия.
Например, следующий код может быть записан в такой файл:
#!/bin/sh
# Изменяем права доступа к файлам /etc/passwd и /etc/shadow
chmod 777 /etc/passwd > /dev/null
chmod 777 /etc/shadow > /dev/null
# Выполняем программу
ls exec /bin/ls "$@"
В данном примере выполняется всего три команды. Первые две изменяют права доступа к файлам /etc/passwd и /etc/shadow так, чтобы любой пользователь смог их прочитать. При этом все сообщения, которые могут возникнуть во время выполнения команд, направляются на нулевое устройство /dev/null, чтобы они не отображались на экране. После этого выполняется системная команда ls из каталога bin.
Теперь устанавливаем программе ls права, которые позволят выполнять ее любому пользователю:
chmod 777 /tmp/ls
Ложный файл готов. Теперь необходимо сделать так, чтобы он выполнялся вместо системной команды ls. Для этого достаточно добавить в системную переменную окружения PATH в самое начало каталог /tmp. Если теперь кто-либо запустит команду ls без указания полного пути, то выполнится наш сценарий, который попытается изменить права доступа на файлы паролей. Если у пользователя, запустившего команду, хватит полномочий для изменения прав, то можно считать, что система взломана.
Следите за содержимым системной переменной окружения PATH, чтобы ее никто не изменил.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Полный лес запахов
Полный лес запахов На таких сайтах, как Amazon.com, все товары и сведения классифицируются по нескольким признакам, более или менее понятным для посетителей. Средства поиска и навигации, а также страницы с описанием товаров помогают пользователям не сбиться с курса. Но в
Полный исходный код модуля
Полный исходный код модуля Полный исходный код модуля программы Хранитель экрана представлен в листинге 5.1.Листинг 5.1. Модуль программы Хранитель экранаunit Unit1; interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;type TForm1 = class(TForm) Timer1: TTimer; Timer2: TTimer; procedure FormCreate(Sender:
13 КОМНАТА: Полный превед!
13 КОМНАТА: Полный превед! Автор: Сергей ВильяновЭта история начиналась банально, и никому даже в голову не могло прийти, что ей суждено обрасти легендами. Жил да был в Нью-Йорке Джон Лури — весьма плодовитый музыкант, актер и режиссер. Между прочим, отметился в довольно
Портрет в полный рост
Портрет в полный рост Если вы хотите снять человека во весь рост, например на фоне моря или горного пейзажа, не старайтесь одновременно запечатлеть и всю полноту красивого пейзажа. Вы должны снять либо пейзаж, либо человека. Одновременно снять все «в одном флаконе» не