39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
id: graphql-get-method
|
|
|
|
info:
|
|
name: GraphQL CSRF / GET method
|
|
author: Dolev Farhi
|
|
severity: info
|
|
description: |
|
|
Cross Site Request Forgery happens when an external website gains ability to make API calls impersonating an user if he visits the website while being authenticated to your API.
|
|
Allowing API calls through GET requests can lead to CSRF attacks, because cookies are added automatically to GET requests by the browser.
|
|
reference:
|
|
- https://graphql.org/learn/serving-over-http/#get-request
|
|
- https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application
|
|
- https://cheatsheetseries.owasp.org/cheatsheets/GraphQL_Cheat_Sheet.html
|
|
- https://graphql.security/
|
|
tags: graphql
|
|
|
|
requests:
|
|
- method: GET
|
|
path:
|
|
- "{{BaseURL}}/graphql?query={__typename}"
|
|
- "{{BaseURL}}/api/graphql?query={__typename}"
|
|
|
|
stop-at-first-match: true
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body
|
|
words:
|
|
- '"query"'
|
|
- '"data"'
|
|
- '"__typename"'
|
|
case-insensitive: true
|
|
condition: and
|
|
|
|
- type: word
|
|
part: header
|
|
words:
|
|
- "application/json"
|