forked from mirrors/kingfisher
49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
rules:
|
|
- name: Google OAuth2 Access Token
|
|
id: kingfisher.google.oauth2.1
|
|
pattern: |
|
|
(?x)
|
|
\b
|
|
(
|
|
ya29\.(?i:[a-zA-Z0-9_-]{30,})
|
|
)
|
|
\b
|
|
min_entropy: 3.5
|
|
confidence: medium
|
|
examples:
|
|
- "ya29.A0ARrdaM9Ra8K7R9AcxA1PpIMLVQ021H0TL0PRh2s_HH0_tn5gCSSf"
|
|
- "ya29.Cj0KCQjwgLr5BRC3ARIsAKEd0AR9_Fg5fjV5pVXZlFYobyfz7Bb9SyOv"
|
|
validation:
|
|
type: Http
|
|
content:
|
|
request:
|
|
headers:
|
|
Authorization: "Bearer {{ TOKEN }}"
|
|
Accept: application/json
|
|
method: GET
|
|
url: https://www.googleapis.com/oauth2/v3/userinfo
|
|
response_matcher:
|
|
- report_response: true
|
|
- status:
|
|
- 200
|
|
type: StatusMatch
|
|
- type: WordMatch
|
|
words:
|
|
- '"email":'
|
|
revocation:
|
|
type: Http
|
|
content:
|
|
request:
|
|
method: POST
|
|
url: https://oauth2.googleapis.com/revoke
|
|
headers:
|
|
Content-Type: application/x-www-form-urlencoded
|
|
Accept: application/json
|
|
body: token={{ TOKEN | url_encode }}
|
|
response_matcher:
|
|
- report_response: true
|
|
- type: StatusMatch
|
|
status: [200]
|
|
references:
|
|
- https://developers.google.com/identity/protocols/oauth2
|
|
- https://developers.google.com/identity/protocols/oauth2/web-server
|