id: magento-detect info: name: Magento Detect author: TechbrunchFR severity: info description: Identify Magento reference: - https://devdocs.magento.com/guides/v2.4/graphql/ classification: cpe: cpe:2.3:a:magento:magento:*:*:*:*:*:*:*:* metadata: verified: true max-request: 2 vendor: magento product: magento 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(header), "x-magento")' - 'status_code == 200' condition: and - type: dsl dsl: - 'contains(body, "graphql-authorization")' - 'contains(body, "The current customer")' - 'status_code == 200' condition: and # digest: 4a0a00473045022016ad140be400ce01e3eecf2d1da962a2769b8a20035edd839b297cf990710129022100903ad9c8d39a2918924efc58345a5a3428e2b50a351d64ca683e26c8679581e1:922c64590222798bb761d5b6d8e72950