Friday 29 January 2016

Эти неприятные upload-ы

Всем конечно известно, что нельзя давать загружать пользователю исполняемые скрипты(php, shtml итд) к себе на сайт, а если это требуется то запрещать исполнение в папке их хранения. Но не все это соблюдают.



Ребята, сайт которых я просматривал позволяли загружать к себе что хочешь. Правда *.php до места не догружалось, а все остальное не умело исполняться.

Выручил в этой ситуации html файл + и не проставленный флаг http only для куки сессии. Файлы по умолчанию открываются в браузере и в текущем домене. Загружаем страничку с примером кода с data-receiver. В итоге доступ к пользователю с привилегиями!

Как обезопасится:
1) http only флаг для кук сессии
2) к линкам на прикрепленные файлы добавлять атрибут download.
Например:
 <a href='foo.html' download>link</a>
3) А для не обладателей HTML5 совместимых браузеров и рукастых пользователей(ведь всегда можно скопировать URL и открыть в новом табе) следует добавлять следующий хедер Content-Disposition: attachment;
Это вроде можно настроить в .htaccess для папок с загруженными файлами.

Опять таки меры 2 и 3 можно применить только для некоторых расширений файлов.

[update]
Вот рекомендации OWASP поэтому поводу
https://www.owasp.org/index.php/Unrestricted_File_Upload

No comments:

Post a Comment