From 68075b6901cb8ca61e206f95c8b4a256f1bf65ef Mon Sep 17 00:00:00 2001 From: Tigah <88289044+TBX3D@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:47:18 -0700 Subject: [PATCH] feat(modules): add ghost, magento and typo3 detection modules (#138) cover three platforms the built-in cms scanner misses (it only handles wordpress, drupal and joomla). markers are structural: generator meta, framework-specific js init and asset paths, not bare brand strings, so a page that merely mentions the cms does not match. ghost also extracts its version from the generator meta. --- modules/info/cms-ghost.yaml | 35 +++++++++++++++++++++++++++++++++++ modules/info/cms-magento.yaml | 27 +++++++++++++++++++++++++++ modules/info/cms-typo3.yaml | 27 +++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 modules/info/cms-ghost.yaml create mode 100644 modules/info/cms-magento.yaml create mode 100644 modules/info/cms-typo3.yaml diff --git a/modules/info/cms-ghost.yaml b/modules/info/cms-ghost.yaml new file mode 100644 index 0000000..d510a1b --- /dev/null +++ b/modules/info/cms-ghost.yaml @@ -0,0 +1,35 @@ +# Ghost CMS Detection Module + +id: cms-ghost +info: + name: Ghost Detection + author: sif + severity: info + description: Detects Ghost publishing platform installations + tags: [cms, ghost, detection, info] + +type: http + +http: + method: GET + paths: + - "{{BaseURL}}" + - "{{BaseURL}}/ghost/" + + matchers: + - type: word + part: all + words: + - 'generator" content="Ghost' + - "/ghost/api/" + - "data-ghost" + - "ghost-portal" + condition: or + + extractors: + - type: regex + name: ghost_version + part: body + regex: + - 'generator" content="Ghost ([0-9]+(?:\.[0-9]+)*)' + group: 1 diff --git a/modules/info/cms-magento.yaml b/modules/info/cms-magento.yaml new file mode 100644 index 0000000..c0f23f2 --- /dev/null +++ b/modules/info/cms-magento.yaml @@ -0,0 +1,27 @@ +# Magento CMS Detection Module + +id: cms-magento +info: + name: Magento Detection + author: sif + severity: info + description: Detects Magento / Adobe Commerce e-commerce installations + tags: [cms, magento, ecommerce, detection, info] + +type: http + +http: + method: GET + paths: + - "{{BaseURL}}" + - "{{BaseURL}}/customer/account/login/" + + matchers: + - type: word + part: all + words: + - "data-mage-init" + - "text/x-magento-init" + - "mage/cookies" + - "Mage.Cookies" + condition: or diff --git a/modules/info/cms-typo3.yaml b/modules/info/cms-typo3.yaml new file mode 100644 index 0000000..2ad8a73 --- /dev/null +++ b/modules/info/cms-typo3.yaml @@ -0,0 +1,27 @@ +# TYPO3 CMS Detection Module + +id: cms-typo3 +info: + name: TYPO3 Detection + author: sif + severity: info + description: Detects TYPO3 CMS installations + tags: [cms, typo3, detection, info] + +type: http + +http: + method: GET + paths: + - "{{BaseURL}}" + - "{{BaseURL}}/typo3/" + + matchers: + - type: word + part: all + words: + - "/typo3conf/" + - "/typo3temp/" + - "data-namespace-typo3-fluid" + - 'generator" content="TYPO3' + condition: or