From a58e6d0f332df1ec2c1aef314aaf872120ad797a Mon Sep 17 00:00:00 2001 From: david Date: Fri, 12 Apr 2013 17:29:26 +0000 Subject: [PATCH] -Adds digest support to basic login method. -Adds detection entry for Digital Sprite 2 ( Digital recorder ) Originally committed by paulino but recommitted by david after recovery from backup. --- .../http-default-accounts-fingerprints.lua | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/nselib/data/http-default-accounts-fingerprints.lua b/nselib/data/http-default-accounts-fingerprints.lua index fd07c307d..481749d16 100644 --- a/nselib/data/http-default-accounts-fingerprints.lua +++ b/nselib/data/http-default-accounts-fingerprints.lua @@ -23,10 +23,11 @@ local url = require "url" -- @param path Path to request -- @param user Username for Basic Auth -- @param pass Password for Basic Auth +-- @param digest_auth Digest Authentication -- @return True if login in was successful --- -local function try_http_basic_login(host, port, path, user, pass) - local credentials = {username = user, password = pass} +local function try_http_basic_login(host, port, path, user, pass, digest_auth) + local credentials = {username = user, password = pass, digest = digest_auth} local req = http.get(host, port, path, {no_cache=true, auth=credentials, redirect_ok = false}) if req.status ~= 401 and req.status ~= 403 then return true @@ -92,7 +93,7 @@ table.insert(fingerprints, { {username = "j2deployer", password = "j2deployer"} }, login_check = function (host, port, path, user, pass) - return try_http_basic_login(host, port, path, user, pass) + return try_http_basic_login(host, port, path, user, pass, false) end }) @@ -140,8 +141,24 @@ table.insert(fingerprints, { {username = "cisco", password = "cisco"} }, login_check = function (host, port, path, user, pass) - return try_http_basic_login(host, port, path, user, pass) + return try_http_basic_login(host, port, path, user, pass, false) end }) +--- +--Digital recorders +--- +table.insert(fingerprints, { + name = "Digital Sprite 2", + category = "security", + paths = { + {path = "/frmpages/index.html"} + }, + login_combos = { + {username = "dm", password = "web"} + }, + login_check = function (host, port, path, user, pass) + return try_http_basic_login(host, port, path, user, pass, true) + end +})