id: oauth2-detect

info:
  name: OAuth 2.0 Authorization Server Detection Template
  author: righettod
  severity: info
  description: Try to detect OAuth 2.0 Authorization Server via the "oauth/token" endpoint
  metadata:
    max-request: 1
  tags: tech,oauth

http:
  - method: POST
    path:
      - "{{BaseURL}}/oauth/token"

    body: "grant_type=authorization_code&client_id=xxx&redirect_uri=https%3A%2F%2Fprojectdiscovery.io&code=xxx&client_secret=xxx"

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 401
          - 400
        condition: or

      - type: word
        part: body
        words:
          - 'error":"invalid_client"'
# digest: 490a00463044022014ec2d4e477e33d6cd477f7f92f6830c9e228ed10a0584b843314592d3deae1b02201c172998c5bb74b82ad36017dfa26f16336e66e820be39bdd9d0986563edc8d0:922c64590222798bb761d5b6d8e72950