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,discovery

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: 4a0a00473045022100a829eb862999698ffecd46d7f919bcbcc61fbfce17e17275a1f8f80521018b2302202e7de0cc58f71f8f6d04377d144b5b5caa455bd5c971cff96f3d1dc86e5c0647:922c64590222798bb761d5b6d8e72950