Опасно ли помещать PDF-файлы с криптографически сгенерированными 128-символьными именами в общедоступную веб-папку? - PullRequest
0 голосов
/ 07 марта 2011

У меня есть сайт, который позволяет пользователю запрашивать секретный отчет в формате PDF.

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

Каждое имя файла состоит из 128 символов, которые генерируются уникальным и криптографическим способом.

Законному пользователю будет предоставлена ​​ссылка на его собственный отчет.

Опасно ли помещать pdf-файлы с криптографически сгенерированными 128-символьными именами файлов в общую веб-папку?

Ответы [ 2 ]

3 голосов
/ 07 марта 2011

Что ж, это действительно квалифицируется как безопасность сквозь мрак , так что это осуждается.Подумайте о следующем сценарии:

  • Что происходит, когда кто-то другой получает удержание ссылки ?Просматривая соединение, читая электронную почту, взламывая компьютер, который содержит закладку / историю загрузок / кеш.Поскольку ссылка всегда есть, ваш документ теперь является общедоступным.
  • Если в любое время в будущем какая-либо часть вашего сервера будет скомпрометирована и каталог будет проиндексирован, даже на секунду все файлы будут общедоступными.,Это может быть один плохо написанный сценарий, одна инъекция, одна XSS-уязвимость, одна неизвестная в настоящее время нулевая дата.Вы подвергаете свои документы самой слабой ссылке .

Вероятно, вам не следует этого делать .Вместо этого храните документы в безопасном месте вне корневого каталога документов.Затем, когда аутентифицированный пользователь запрашивает документ по безопасному (HTTPS) соединению, обслуживает документ с помощью скрипта , который читает документ и записывает его по соединению.В корне документа нет временных файлов!

1 голос
/ 07 марта 2011

Почему бы просто не включить загрузку из вашего скрипта?

download.php? File = 128_char_filename.pdf

Где download.php проверяет разрешение пользователя на этот файл.Таким образом, у вас не будет «безопасных» PDF-файлов в общей папке.

Принудительная загрузка файла с ASP.NET: http://www.haiders.net/post/Force-File-Download-with-ASPNET.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...