WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров

Все блоги / Про интернет 5 марта 2018 365   
image

Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают, почему нужно запретить их загрузку на сервер (например, при использовании веб-сервера apache в связке с PHP, наверное, лучше избегать загрузку файлов с расширением «.php» от пользователей). Однако, мне показалось, что остались еще некоторые малоизвестные форматы, которые по-разному воспринимаются различными веб-серверами.

При написании кода, который отвечает за загрузку файлов, разработчики веб-приложений, могут прибегнуть к проверке расширения загружаемого файла либо по WhiteList (и тогда можно загружать только файлы с определенным расширением), либо по BlackList (и тогда можно загружать любые файлы, которые не описаны в списке). Если все-таки используется второй вариант, то это нередко может выливаться в уязвимость (например, XSS или даже RCE).

Как правило, программисты вносят в BlackList уже известные и очевидные расширения. В статье же будут рассмотрены не самые распространенные типы файлов. Читать дальше →
  • Оцените публикацию
  • 0

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций