GraphQL - это технология для создания API от Facebook. Сейчас на многих современных сайтах можно увидеть обращения к GraphQL-бекендам, у которых нередко можно встретить проблемы с разделением прав доступа. Достаточно вспомнить недавний баг у HackerOne.



Одним из самых популярных бекендов является graphcool. Фреймворк позволяет легко создавать GraphQL-схемы из SDL. Но безопасна ли сгенерированная схема? Исследовать GraphQL-схемы можно легко с помощью GraphQL Playground или расширения ChromeiQL. Так, можно увидеть, что graphcool создает новые поля-селекторы для всех строковых полей, например password_contains, password_not_contains, password_starts_with и др. И что самое главное - авторизация для таких полей реализована некорректно, допуская error-based перебор символов.