Главная книга сайта Форнит: «Мировоззрение». Другие книги:
«Познай себя», «Основы адаптологии», «Вне привычного» и Лекторий МВАП.
 
 

Еще о мифах рекламы конструкторов сайтов

Относится к   «Стоит ли пользоваться конструкторами сайтов?»

О том, насколько запущены коды конструкторов сайтов еа примере Друпала.

Относится к разделу Общий раздел

50 оттенков безопасности Друпала

Вопреки байке о том, что конструкторы всегда поддерживаются в лучшей современной форме, на самом деле они - заплатка на заплатке. Это касается Битрикса и практически всех других конструкторов.

  1. Для хеширования паролей используется модифицированная версия phpass, от которой на официальном сайте открестились. Но менять механизм не спешат [#1845004].
  2. Не желают даже предоставить возможность выбора механизма хеширования [#2939888].
  3. Число итераций для стойкости хеширования не обновлялось больше 7 лет [#1850638], хотя предполагалось увеличение итераций не реже чем в 2 года [#1203852].
  4. При использовании PostgreSQL хеши паролей сравниваются без учёта регистра [#2475539].
  5. Также с PostgreSQL есть проблемы с поддержкой SSL [#850600].
  6. Минимально допустимая версия PostgreSQL 9.2, которая уже давно без поддержки безопасности [#2846994].
  7. Официальная сборка Друпала содержит устаревшие версии вендорных библиотек (из-за совместимости с PHP 5.5). В некоторых из них, например Zend, есть даже известные уязвимости [#2989631].
  8. Также в сборке находятся все тесты, тестовые модули, тестовые темы и вендорные библиотеки для тестирования, что увеличивает не только размер архива, но и область возможных брешей [#2338671].
  9. Застопорилас и идея перенеси исполняемые файлы за пределы сайта [#1672986].
  10. Проверка обновлений реализована с помощью GET запросов по небезопасному HTTP протоколу [#1538118]. При MITM атаке можно подсовывать любые ссылки на архивы модулей (домен и хеш-суммы не проверяются). Также можно собирать инфу о составе сайта, списке разработчиков и их активности (запросы с локальных версий сайтов совпадут по ip с аккаунтами на d.org). HTTP протокол позволяет разместить скрипт для сбора инфы за пределами drupal.org.
  11. Пользователь с id = 1 является самым лакомым объектом для атаки, поскольку всегда имеет все существующие на сайте права доступа (permissions), а также имеет все попытки лишить его этих прав [#540008].
  12. Такое поведение не совсем очевидно, поскольку визуально в админке этот пользователь ничем не отличается от других. Но даже попытка подсветить эту особенность закончилась ничем [#572240].
  13. Захватить контроль над этим пользователем с id = 1 может любой администратор, или другой пользователь с нужными правами [#39636].
  14. Определённые права неявным образом дают контроль над всем сайтом, но внешне они тоже никак не выделяются [#2846365][#594412].
  15. Некоторые права даже своим названием могут ввести в заблуждение. Например, право на просмотр логов на самом деле позволяет и удалять их [#1635646].
  16. Наведения порядка в пермишенах давно уже является острой задачей, но ее просто игнорят [#2628870][#2667018].
  17. Администратор не может удалить файловый объект загруженный другим пользователем, каким бы вредоносным он ни был [#2949017].
  18. Хук hook_file_download не использует при валидации соответствующий контроллер [#2148353].
  19. Нет отрабатывает валидация для файлов на стороне клиента [#2938441].
  20. Слабые проверки загрузки произвольных файлов [#2543590], не говоря уже о всяких RarJpeg склейках.
  21. Некоторые проверки файлов полагаются на .htaccess правила [#2829048].
  22. В .htaccess хватает и других правил безопасности, которые неявным образом теряются при переключении на другое окружение (особенно Nginx), но реализация аналогичных правил web.config заглохла [#154339][#2669870].
  23. По умолчанию на любой сайт с Друпал 8 можно заливать изображения простым POST запросом, состоящим из имени формы для регистрации и полем с аватаркой пользователя. Примечательно, что в Drupal 7 от вывода такого поля по умолчанию отказались [#31056], но те времена прошли.
  24. При многократной загрузке файла с одинаковым названием появляется проблема, связанная с реализацией алгоритма генерирования уникальных названий файлов [#2684403].
  25. Фильтрация адресов изображений также хромает. Поэтому можно разлогинивать пользователей картинкой с src='/user/logout' [#144538], или реализовать DOS-атаку, разместив пару сотен картинок с src='very/hard/page'.
  26. Ещё один способ съесть ресурсы, это загрузка изображений размерами 1000х1 в поля, которые обрабатываются с помощью «Scale and crop» эффекта [#2931533][#872206].
  27. Забить базу данных мусорным кешем можно просто перебирая урлы [#1245482], хотя система кеширования и без посторонней помощи прекрасно забирает все ресурсы на хранения результатов, которые даже с нуля было бы получить быстрее [#2888838].
  28. Можно нагружать сайт и забивать логи сообщениями об ошибках с помощью специальных запросов к контекстным ссылкам.[#2864933].
  29. Доступ к прикреплённым файлам и изображениям есть всегда, вне зависимости от доступа к контенту [#2904842].
  30. Комментарии к контенту тоже останутся доступны при запрете доступа к контенту [#1781766].
  31. Зареган ли пользовать на сайте можно узнать по сообщению на восстановление пароля [#1521996].
  32. Форма для сброса паролей не защищена от флуда [#1681832].
  33. При создании и проверке паролей, без всякого предупреждения удаляются все пробельные символы вокруг [#1921576]. Это может быть сюрпризом для пользователя, и небольшим послаблением для алгоритма перебора.
  34. Если у вас нет возможности получить хеш пароля для брутфорса, но есть сессия пользователя, то можно брутить пароль без ограничений через сам аккаунт, например, меняя почтовый ящик [#2339399].
  35. Кстати, если что, пользователь даже не узнает, что его ящик был изменён, поскольку попытка реализовать эту фичу стопорится уже не первый год [#85494].
  36. Алгоритм генерации сессий тоже так себе [#2238561].
  37. Куки протекают между сайтами, которые размещены в подпапках [#2515054].
  38. В некоторых случаях можно заблочить пользователей, манипулируя с запросами на некорректный ввод пароля [#2449335].
  39. Доступ к правке шаблонов Twig позволяет получить неограниченный контроль над сайтом [#2860607].
  40. Упорно игнорируется XSS атака через Twig атрибуты [#2567743][#2552837][#2544110].
  41. Также можно внедрять XSS в info файлы. Например через deion или package поля, что можно интересно эксплуатировать через фичи [#846430].
  42. Не используется заголовок безопасности X-XSS-Protection [#2868150].
  43. XSS можно протолкнуть и через метод редеринг класса PlainTextOutput, хотя название класса говорит о противоположном [#2896735].
  44. Также может быть сюрпризом, что некоторые методы проверяют и кешируют права доступа текущего пользователя, а не того, который в них передали [#2628870][#2266809].
  45. Из-за неправильной настройки кеша можно делать для пользователя недоступным просмотр собственного профиля [#2614230]. Аналогичный трюк можно проделать при определеных настройках и с контентом [#2982770], и с медиа [#2889855].
  46. Статистикой просмотров материала можно легко манипулировать через обычный цикл for в консоли браузера, накручивая по тысячи просмотров в минуту даже если у вас нет доступа к самому материалу. Можно накручивать даже пока не существующие материалы [#2616330].
  47. Хромает валидация внешних урлов [#2691099][#2652236].
  48. Нет полноценной защиты от breachattack.com [#2234243].
  49. Если настроить Content Security Policy, то отваливается редактор контента [#2789139].
  50. Это любительская подборка, ни на что не претендующая. Быть может кто-то знает дыры похлеще? С 30.01.2019 по 15.10.2020 действует баунти от EU бюджетом в 89 000,00 €. Можете попробовать что-нибудь исправить. Но если не получится — не отчаивайтесь, мантейнеры этого проекта обучены в высшей степени ловко маневрировать между задачами, чтобы годами держать Друпал на одном месте.

 




Обсуждение Еще не было обсуждений.


Дата публикации: 2019-01-28

Оценить статью >> пока еще нет оценок, ваша может стать первой :)

Об авторе: Статьи на сайте Форнит активно защищаются от безусловной веры в их истинность, и авторитетность автора не должна оказывать влияния на понимание сути. Если читатель затрудняется сам с определением корректности приводимых доводов, то у него есть возможность задать вопросы в обсуждении или в теме на форуме. Про авторство статей >>.

Тест: А не зомбируют ли меня?     Тест: Определение веса ненаучности

В предметном указателе: А.В. Бялко, ТОРСИОННЫЕ МИФЫ | Миры и мифы трансперсональной психологии | Миры и мифы трансперсональной психологии | Миф о начале време Габриель Венециано | Мифология в политической коммуникации | Мифология самооценки | Мифы поп-психологии успеха | Общество мифов | Попы в школе — мифы и реальность | Сверхценные идеи: реальность, которая превращается в мифы | В ЗАПОРОЖСКИХ МАРШРУТНЫХ ТАКСИ РЕКЛАМИРУЕТСЯ СЕКТА ДЭИР | Негативные эмоции в рекламе | Несколько «ласковых слов» о негативных эмоциях в рекламе | О рекламе | mp3-хи без регистрации и рекламы! Free. | Антиреклама | Реклама на сайте | Обсуждение О рекламе | Стоит ли пользоваться конструкторами сайтов (cms)? | Обсуждение статьи Стоит ли пользоваться конструкторами сайтов (cms)? | Коллекция: Мессии, провидцы и ... | Фотогаллереи сайта Fornit | Тесты сайта Форнит | Fornit Гимн сайта | Fornit Хрюкинг сайта | Дикарбоновые аминокислоты (Буланов Ю.Б., врач). - (ATHLETE.RU - профессиональный сайт о бодибилдинге) | Изданные книги сайта Форнит | Как завести свою предметную область исследований на сайте Форнит? | Книги на сайте Форнит | Копия материалов страниц сайта Г.Грабового 08.03.2007
Последняя из новостей: Футуристическая фантастика: Слава и первая смерть.

Ученые выяснили, почему в мозгу рождаются мысли и можно ли прожить без них
Язык связывает различные когнитивные функции, которые без него существуют отдельно.
 посетителейзаходов
сегодня:22
вчера:00
Всего:1091013

Авторские права сайта Fornit
Яндекс.Метрика