- Модифицированная версия используется для хеширования паролей.
phpass , от которого отказались на официальном сайте.
Но они не торопятся менять механизм [#1845004] .
- Они даже не хотят предоставлять возможность выбора механизма хеширования.
- Количество итераций для силы хеширования не обновлялось более 7 лет. [#1850638] , хотя предполагалось, что итерации будут увеличиваться как минимум каждые 2 года [#1203852] .
- При использовании PostgreSQL хэши паролей сравниваются без учета регистра.
- Также у PostgreSQL есть проблемы с поддержкой SSL. [#850600] .
- Минимально приемлемая версия PostgreSQL — 9.2, которая долгое время не поддерживалась безопасностью.
- Официальная сборка Drupal содержит устаревшие версии вендорных библиотек (из-за совместимости с PHP 5.5).
Некоторые из них, например Zend, даже имеют известные уязвимости.
- Сборка также содержит все тесты, тестовые модули, тестовые темы и вендорские библиотеки для тестирования, что увеличивает не только размер архива, но и область возможных дефектов.
- Идея перемещения исполняемых файлов за пределы сайта также застопорилась.
- Проверка обновлений реализована с помощью запросов GET по небезопасному протоколу HTTP. [#1538118] .
Во время MITM-атаки можно подсунуть любые ссылки на архивы модулей (домен и хеш-суммы не проверяются).
Также вы можете собирать информацию о составе сайта, списке разработчиков и их активности (запросы с локальных версий сайтов будут совпадать по IP с аккаунтами на d.org).
Протокол HTTP позволяет разместить скрипт для сбора информации за пределами drupal.org.
- Пользователь с id=1 — самая вкусная цель для атаки, так как он всегда имеет все существующие на сайте права доступа (разрешения), а также имеет все попытки лишить его этих прав [#540008] .
- Такое поведение не совсем очевидно, так как визуально в админке этот пользователь ничем не отличается от других.
Но даже попытка выделить эту особенность закончилась ничем.
- Любой администратор или другой пользователь с необходимыми правами может захватить контроль над этим божественным пользователем с id=1. [#39636] .
- Определенные права неявно дают контроль над всем сайтом, но и внешне они не выделяются.
[#2846365] , [#594412] .
- Некоторые права, даже по их названию, могут ввести в заблуждение.
Например, право на просмотр логов фактически позволяет их удалять.
- Наведение порядка в разрешениях давно является актуальной задачей, но ее просто игнорируют [#2628870] , [#2667018] .
- Администратор не может удалить файловый объект, загруженный другим пользователем, каким бы вредоносным он ни был.
- Hook_file_download не использует соответствующий контроллер при проверке [#2148353] .
- Проверка не работает для файлов на стороне клиента [#2938441] .
- Слабые проверки загрузки произвольных файлов [#2543590] , не говоря уже о всяких RarJpeg склейках.
- Некоторые проверки файлов основаны только на правилах .
htaccess. [#2829048] .
- В .
htaccess есть множество других правил безопасности, которые неявно теряются при переключении на другую среду (особенно Nginx), но реализация аналогичных правил web.config застопорилась.
[#154339] , [#2669870] .
- По умолчанию вы можете загружать изображения на любой сайт под управлением Drupal 8 с помощью простого POST-запроса, состоящего из названия регистрационной формы и поля с аватаркой пользователя.
Примечательно, что в Drupal 7 отказались отображать такое поле по умолчанию.
[#31056] , Но те дни прошли.
- При многократной загрузке файла с одним и тем же именем возникает проблема, связанная с реализацией алгоритма генерации уникальных имен файлов.
- Фильтрация адресов изображений тоже неудобна.
Таким образом, вы можете выйти из системы пользователей с изображением с помощью src='/user/logout'.
[#144538] или провести DOS-атаку, разместив пару сотен фотографий с src='very/hard/page'.
- Еще один способ съедать ресурсы — загружать изображения размером 1000х1 в поля, которые обрабатываются с помощью эффекта «Масштабировать и обрезать».
[#2931533] , [#872206] .
- Вы можете заполнить базу данных кешем мусора, просто выполнив поиск по URL-адресам.
[#1245482] , хотя система кеширования даже без посторонней помощи прекрасно забирает все ресурсы для хранения результатов, которые можно было бы быстрее получить даже с нуля [#2888838] .
- Загружать сайт и наполнять логи сообщениями об ошибках можно с помощью специальных запросов к контекстным ссылкам.
- Доступ к прикрепленным файлам и изображениям всегда доступен, независимо от доступа к содержимому.
- Комментарии к контенту также останутся доступными, если доступ к контенту заблокирован.
- Узнать, зарегистрированы ли вы для использования сайта, можно по сообщению о восстановлении пароля.
- Форма сброса пароля не защищена от флуда [#1681832] .
- При создании и проверке паролей все пробельные символы («\t\n\r\0\x0B») вокруг них удаляются без предупреждения.
Это может быть сюрпризом для пользователя и небольшим облегчением для алгоритма перебора.
- Если у вас нет возможности получить хэш пароля для перебора, но есть сессия пользователя, то перебор пароля можно без ограничений через сам аккаунт, например, сменив почтовый ящик [#2339399] .
- Кстати, в случае чего пользователь даже не узнает, что его почтовый ящик был изменен, так как попытка реализовать эту возможность застопорилась уже несколько лет. [#85494] .
- Алгоритм генерации сессий тоже так себе [#2238561] .
- Файлы cookie передаются между сайтами, расположенными в подпапках.
- В некоторых случаях заблокировать пользователей можно, манипулируя запросами на неправильный ввод пароля.
- Доступ к редактированию шаблонов Twig позволяет получить неограниченный контроль над сайтом.
- XSS-атака через атрибуты Twig постоянно игнорируется [#2567743] , [#2552837] , [#2544110] .
- Вы также можете внедрить XSS в информационные файлы.
Например, через поля описания или пакета, которые можно интересно использовать с помощью функций.
- Заголовок безопасности X-XSS-Protection не используется.
- XSS также можно передать через метод рендеринга класса PlainTextOutput, хотя имя класса предполагает обратное.
- Также может удивить то, что некоторые методы проверяют и кэшируют права доступа текущего пользователя, а не переданного им.
[#2628870] , [#2266809] .
- Из-за неправильных настроек кэша возможно сделать невозможным просмотр пользователем собственного профиля.
Подобный трюк можно проделать с определенными настройками и контентом.
[#2982770] и со СМИ [#2889855] .
- Статистикой просмотров материала можно легко манипулировать с помощью обычного цикла for в консоли браузера, генерирующего тысячи просмотров в минуту, даже если у вас нет доступа к самому материалу.
Можно наматывать даже несуществующие материалы [#2616330] .
- Проверка внешних URL-адресов хромает [#2691099] , [#2652236] .
- Полной защиты от этого не существует. Breakattack.com [#2234243] .
- Если настроить Политику безопасности контента, редактор контента отваливается [#2789139] .
- Это любительская подборка и ни на что не претендует. Может кто знает дырки похуже? Действует с 30.01.2019 по 15.10.2020 награда из ЕС с бюджетом 89 000,00 €.
Можно попытаться что-то исправить.
Но если не получится, не отчаивайтесь, мейнтейнеры этого проекта обучены крайне ловко лавировать между задачами, чтобы годами удерживать Drupal на одном месте.
-
Как Не Учить Английские Слова
19 Oct, 24 -
Сервис Для Поиска Похожих Людей
19 Oct, 24 -
Sennheiser Hd 228: Что Это За Кот В Мешке?
19 Oct, 24 -
Персональный Подкаст: Эпизод №7
19 Oct, 24 -
Зам-С — Выпуск №48
19 Oct, 24 -
Будущее Зависит От Тебя - 2
19 Oct, 24