Каковы проблемы безопасности с диаспорой?

Я слышал много шума вокруг вопросов безопасности с диаспорой, кто-то может подвести итог, что они были?

1 ответ

Решение

С тех пор они исправили многие из них, но на самом деле весь проект был путаницей почти всех веб-уязвимостей в книге. Вот краткое изложение проблем со дня их выпуска альфа-кода:

  1. Они никогда не подтверждали, что данный пользователь когда-либо имел разрешение на что-либо. Так что пока пользователь может перейти к /image/123/delete/ чтобы удалить собственное изображение (чей ID оказался 123), они могли просто вручную ввести URL /image/1/delete/ удалить изображение с идентификатором 1, даже если это изображение не принадлежало им.
  2. Они использовали функцию быстрого доступа в Ruby on Rails, которая позволяет вам просто массово назначать свойства POST для таблицы базы данных, не проверяя, что эти свойства действительно были в форме. Таким образом, хотя на странице обновления профиля могут быть только поля для изменения изображения аватара и описания биографии, любой, кто обладает небольшим ноу-хау, может поиграться с данными POST до того, как они будут отправлены на сервер, а также отправлять пары столбец / значение, такие как имя пользователя, пароль, идентификатор сеанса и т. д. Объедините это с пунктом #1, где вы можете просто изменить чьи-либо данные, если вы знаете URL-адрес, и вы можете установить личную информацию любого человека на то, что вы хотите.
  3. Они использовали MongoDB для своего бэкэнда. Для неинформированных Mongo использует Javascript для некоторых своих возможностей запросов. Они брали необработанные строки поискового запроса и просто выполняли их в своем монго-бэкэнде, что позволяло любому, кто отправляет правильно сформированный Javascript в качестве запроса, действительно делать с базой данных все, что им нужно.

Если вам интересны технические детали, не стесняйтесь обучать себя.

Другие вопросы по тегам