​​📖 Заметки о пентесте GraphQL для начинающих



Некоторые заметки, которые могут помочь вам быстро освоиться и познакомиться с технологией GraphQL для поиска багов:



▫️GraphQL используется разработчиками для большего удобства использования, чем REST. Таким образом, зачастую, он реализуется поверх существующих служб REST, как оболочка. Поэтому иногда разработчики могут неправильно настроить его для ВСЕХ конечных точек!



▫️Самое важное для атаки на GraphQL - получить схему. Для этого нам нужно использовать запросы самоанализа (его можно отключить). Пробуйте разные варианты запросов, так как один может быть отключен, а другой нет.



▫️Проверьте, можете ли вы получить доступ к консолям GraphQL, используемым разработчиками, например с помощью данного списка.

/graphql

/altair

/playground

...



▫️
Попробуйте добавить к своим запросам параметр отладки:

&debug=1



▫️
Ищите предыдущие версии, например:

v1/graphql

V2/graphql



▫️
Используйте автоматизированные инструменты:

- Graphql-Voyager для визуального представления схемы;

- Консольный инструмент и плагин для Burp Suite InQL;

- Консольный инструмент GraphQLmap.



▫️Уязвимости, которые вы можете найти:

- IDOR (небезопасные прямые ссылки на объекты)

- Проблемы с авторизацией / контролем доступа

- Небезопасные модификации данных в GraphQL

- Инъекции, например: SQL, NoSQL



#web #api