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 ---