Почему общедоступный доступный для записи каталог уязвим?

Просто экспериментирую с вещами :)

Я создал новый каталог и сделал chmod 777 (сделал его общедоступным для записи)

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

  1. file_put_content('http://myserver.com/writabledir/newfile.txt', "мой новый файл содержимое файла"); (Я пользователь PHP). // не сработало, так как HTTP-оболочка не поддерживается.

  2. Я использовал javascript для загрузки файла в тот же доступный для записи каталог. Я получаю ошибку CORS.

Теперь, когда я не мог загрузить какой-либо файл в этот общедоступный доступный для записи каталог. Может ли кто-нибудь указать, как можно неправильно использовать общедоступные каталоги с возможностью записи?


person Lucky Soni    schedule 17.02.2014    source источник
comment
Потому что ничто не должно иметь больше привилегий, чем нужно для работы. Если какой-либо процесс на вашем сервере скомпрометирован, они могут написать туда. Они не должны быть в состоянии. Вопрос не в том: почему бы мне этого не сделать? Начинайте думать: зачем мне это нужно? Установка правильного владельца и предоставление только прав на запись — это начало, если у вас есть несколько пользователей и нет связующей группы, прочитанной на setfacl, и на самом деле начните запускать SELinux.   -  person Wrikken    schedule 18.02.2014
comment
@Wrikken Я полностью с тобой согласен, и это то, чему я бы следовал в реальном мире. Вопрос возникает из любопытства, и я уверен, что есть некоторые злые способы воспользоваться такой установкой. Просто любопытно узнать, КАК это делается.. Я действительно жажду знаний :) Так что просто знать, что этого не следует делать, для меня недостаточно.. Мне нужен ответ на ПОЧЕМУ.   -  person Lucky Soni    schedule 18.02.2014
comment
Посмотрите на это так: Apache не должен писать туда и не будет, если вы явно не настроите его, чтобы иметь возможность, ЕСЛИ все работает как задумано. Однако, если эксплойт Apache обнаружен, вы хотите свести к минимуму ущерб, который он может нанести. И это при условии, что вы владеете всем сервером, если вы находитесь на виртуальном хостинге... ну... каждый может делать там то, что ему нравится.   -  person Wrikken    schedule 18.02.2014
comment
@LuckySoni Я думаю, ты немного запутался. Вы не можете писать в файл на сервере, используя PHP file_put_contents() или JavaScript. Это должно быть что-то непосредственно на сервере, например скрипт PHP или Perl, скрипт bash, кто-то, подключенный через SSH и т. д. Например, если вы находитесь на общем хосте, любой другой на хосте может иметь возможность измените свои файлы, если они доступны для записи всем.   -  person Mike    schedule 18.02.2014


Ответы (1)


Может ли кто-нибудь указать, как можно неправильно использовать общедоступные каталоги с возможностью записи?

Сам по себе? Они не могут злоупотреблять ими. В сочетании с другими функциями (или уязвимостями) это делает эксплуатацию легче.

Вот и весь ответ. Мы могли бы погрузиться в гипотетические сценарии и обсудить различные модели угроз, но, в конечном счете, рекомендации сделать ваши общедоступные каталоги доступными только для чтения исходят из позиции «не подвергайте себя ненужному риску».

Это сильная позиция.

person Scott Arciszewski    schedule 04.10.2018