diff --git a/nselib/data/http-fingerprints.lua b/nselib/data/http-fingerprints.lua
index 3efe35617..ec80d69dd 100644
--- a/nselib/data/http-fingerprints.lua
+++ b/nselib/data/http-fingerprints.lua
@@ -7128,7 +7128,178 @@ table.insert(fingerprints, {
---- Open Source CMS checks ----
------------------------------------------------
--- Broad wordpress version identification
+-- Wordpress versions (Scraping readme file)
+table.insert(fingerprints, {
+ category = 'cms',
+ probes = {
+ {
+ path = '/readme.html',
+ method = 'GET'
+ }
+ },
+ matches = {
+ {
+ match = '
= 1.60
+ path = '/administrator/manifests/files/joomla.xml',
+ method = 'GET'
+ },
+ {
+ -- Detects version >= 1.50 and <= 1.5.26
+ path = '/language/en-GB/en-GB.xml',
+ method = 'GET'
+ },
+ {
+ -- Detects version < 1.50
+ path = '/modules/custom.xml',
+ method = 'GET'
}
},
matches = {
{
match = '(.-)',
- output = 'Joomla! '
+ output = 'Joomla version \\1'
}
}
});
@@ -8507,6 +8701,24 @@ table.insert(fingerprints, {
}
});
+-- Drupal version
+table.insert(fingerprints, {
+ category = 'cms',
+ probes = {
+ {
+ -- Must be executed on both ports 80, 443 for accurate results
+ path = '/',
+ method = 'GET'
+ }
+ },
+ matches = {
+ {
+ match = '