diff --git a/nselib/data/http-default-accounts-fingerprints.lua b/nselib/data/http-default-accounts-fingerprints.lua index 42e399351..34411feaa 100644 --- a/nselib/data/http-default-accounts-fingerprints.lua +++ b/nselib/data/http-default-accounts-fingerprints.lua @@ -338,6 +338,34 @@ table.insert(fingerprints, { end }) +table.insert(fingerprints, { + name = "Motorola AP-7532", + category = "routers", + paths = { + {path = "/"} + }, + target_check = function (host, port, path, response) + return response.status == 200 + and response.header["server"] + and response.header["server"]:find("^lighttpd/%d+%.") + and response.body + and response.body:lower():find("motorola solutions", 1, true) + end, + login_combos = { + {username = "admin", password = "motorola"} + }, + login_check = function (host, port, path, user, pass) + local form = {_dc = stdnse.clock_ms(), + username = user, + password = pass} + local lurl = url.absolute(path, "rest.fcgi/services/rest/login?" .. url.build_query(form)) + local req = http.get(host, port, lurl, {no_cache=true, redirect_ok=false}) + return req.status == 200 + and req.body + and req.body:find('[{,]%s*"status"%s*:%s*true%s*[,}]') + end +}) + table.insert(fingerprints, { -- Version 3.3.2, 4.3.1, 4.4.0, 4.4.1 on RFS6000 name = "Motorola RF Switch",