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