39 lines
1.0 KiB
YAML
39 lines
1.0 KiB
YAML
id: magento-detect
|
|
|
|
info:
|
|
name: Magento Detect
|
|
author: TechbrunchFR
|
|
severity: info
|
|
description: Identify Magento
|
|
reference:
|
|
- https://devdocs.magento.com/guides/v2.4/graphql/
|
|
metadata:
|
|
max-request: 2
|
|
verified: true
|
|
shodan-query: http.component:"Magento"
|
|
tags: magento,tech
|
|
|
|
http:
|
|
- method: GET
|
|
path:
|
|
- '{{BaseURL}}'
|
|
- '{{BaseURL}}/graphql?query=+{customerDownloadableProducts+{+items+{+date+download_url}}+}'
|
|
|
|
# There might be a better way to do that, the idea of this check is that Magento might be behind some kind of proxy when
|
|
# consumed by a SPA/PWA app, so we need a valid GraphQL query from Magento to check reference[1]
|
|
|
|
matchers-condition: or
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- 'contains(tolower(all_headers), "x-magento")'
|
|
- 'status_code == 200'
|
|
condition: and
|
|
|
|
- type: dsl
|
|
dsl:
|
|
- 'contains(body, "graphql-authorization")'
|
|
- 'contains(body, "The current customer")'
|
|
- 'status_code == 200'
|
|
condition: and
|