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.
This commit is contained in:
Tigah
2026-06-22 16:47:18 -07:00
committed by GitHub
parent 1bbcefa685
commit 68075b6901
3 changed files with 89 additions and 0 deletions
+35
View File
@@ -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
+27
View File
@@ -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
+27
View File
@@ -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