diff --git a/nselib/data/http-default-accounts-fingerprints.lua b/nselib/data/http-default-accounts-fingerprints.lua
index 8b105cc21..7affbbb1f 100644
--- a/nselib/data/http-default-accounts-fingerprints.lua
+++ b/nselib/data/http-default-accounts-fingerprints.lua
@@ -535,6 +535,42 @@ table.insert(fingerprints, {
end
})
+table.insert(fingerprints, {
+ name = "Pure Storage",
+ category = "web",
+ paths = {
+ {path = "/"}
+ },
+ target_check = function (host, port, path, response)
+ return response.status == 200
+ and response.body:find("
Pure Storage Login", 1, true)
+ end,
+ login_combos = {
+ {username = "pureuser", password = "pureuser"}
+ },
+ login_check = function (host, port, path, user, pass)
+ return try_http_post_login(host, port, path, "login",
+ "{%s*Welcome%s*:%s*Invalid%s*}",
+ {["username"]=user, ["password"]=pass})
+ end
+})
+
+table.insert(fingerprints, {
+ name = "Active MQ",
+ category = "web",
+ paths = {
+ {path = "/admin"}
+ },
+ target_check = function (host, port, path, response)
+ return http_auth_realm(response) == "ActiveMQRealm"
+ end,
+ login_combos = {
+ {username = "admin", password = "admin"}
+ },
+ login_check = function (host, port, path, user, pass)
+ return try_http_basic_login(host, port, path, user, pass, false)
+ end
+})
---
--ROUTERS
---
@@ -1072,6 +1108,27 @@ table.insert(fingerprints, {
end
})
+table.insert(fingerprints, {
+ name = "AXIS Network Camera (M Series)",
+ category = "security",
+ paths = {
+ {path = "/view/viewer_index.shtml"},
+ },
+ target_check = function (host, port, path, response)
+ local realm = http_auth_realm(response) or ""
+ return realm:find("AXIS")
+ end,
+ login_combos = {
+ {username = "admin", password = "admin"},
+ {username = "admin", password = ""},
+ {username = "root", password = ""},
+ {username = "root", password = "root"}
+ },
+ login_check = function (host, port, path, user, pass)
+ return try_http_basic_login(host, port, path, user, pass, false)
+ end
+})
+
---
--Industrial systems
---