id: graphql-ruby-detect
info:
  name: Graphql Ruby Detect
  author: princechaddha
  severity: info
  reference:
    - https://github.com/dolevf/graphw00f/blob/main/graphw00f/lib.py
  tags: tech,graphql,ruby

http:
  - method: POST
    path:
      - "{{BaseURL}}/graphql"
      - "{{BaseURL}}/api/graphql"
      - "{{BaseURL}}/query"
      - "{{BaseURL}}/"
    body: '{"query":"query @skip {__typename}"}'
    headers:
      Content-Type: application/json
    redirects: true

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200
          - 400

      - type: word
        words:
          - "'@skip' can't be applied to queries (allowed: fields, fragment spreads, inline fragments)"
        part: body
# digest: 490a0046304402201788bc18b2242f8579d4d528a2efee809eceb4136d6c5b447edd262a1b3e1da602206cff82a75bcc274741b51bfd507797c36f93c9cb6a1a83752e9c46803ccf28cd:922c64590222798bb761d5b6d8e72950