diff --git a/nselib/smb.lua b/nselib/smb.lua index 0a224847e..0cb440f99 100644 --- a/nselib/smb.lua +++ b/nselib/smb.lua @@ -133,6 +133,7 @@ local smbauth = require "smbauth" local stdnse = require "stdnse" local string = require "string" local table = require "table" +local tableaux = require "tableaux" local unicode = require "unicode" local smb2 = require "smb2" _ENV = stdnse.module("smb", stdnse.seeall) @@ -1093,6 +1094,8 @@ function list_dialects(host, overrides) local status, smb1_dialect local smbstate + overrides = tableaux.tcopy(overrides or {}) + -- Check for SMBv1 first stdnse.debug2("Checking if SMBv1 is supported") status, smbstate = start(host) diff --git a/scripts/smb-protocols.nse b/scripts/smb-protocols.nse index ee352ec1c..ced5af0bb 100644 --- a/scripts/smb-protocols.nse +++ b/scripts/smb-protocols.nse @@ -51,10 +51,9 @@ hostrule = function(host) end action = function(host,port) - local status, supported_dialects, overrides + local status, supported_dialects local output = stdnse.output_table() - overrides = {} - status, supported_dialects = smb.list_dialects(host, overrides) + status, supported_dialects = smb.list_dialects(host) if status then for i, v in pairs(supported_dialects) do -- Mark SMBv1 as insecure if v == "NT LM 0.12" then