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