mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 12:41:29 +00:00
SSL overhaul fixing OpenSSL related problems when SSL has not been compiled in
* replace require function calls with stndse.silent_require * fixed a bug in nse_main that would fail creating scripts.db when a script fails to load * reworked some code to provide limited functionality even though SSL is not present
This commit is contained in:
@@ -1114,6 +1114,7 @@ if script_database_update then
|
|||||||
sort(scripts);
|
sort(scripts);
|
||||||
for i, script in ipairs(scripts) do
|
for i, script in ipairs(scripts) do
|
||||||
script = Script.new(script);
|
script = Script.new(script);
|
||||||
|
if ( script ) then
|
||||||
sort(script.categories);
|
sort(script.categories);
|
||||||
db:write('Entry { filename = "', script.basename, '", ');
|
db:write('Entry { filename = "', script.basename, '", ');
|
||||||
db:write('categories = {');
|
db:write('categories = {');
|
||||||
@@ -1122,6 +1123,7 @@ if script_database_update then
|
|||||||
end
|
end
|
||||||
db:write(' } }\n');
|
db:write(' } }\n');
|
||||||
end
|
end
|
||||||
|
end
|
||||||
db:close();
|
db:close();
|
||||||
log_write("stdout", "Script Database updated successfully.");
|
log_write("stdout", "Script Database updated successfully.");
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -114,18 +114,13 @@
|
|||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("afp", stdnse.seeall);
|
_ENV = stdnse.module("afp", stdnse.seeall);
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
if pcall(require,'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Table of valid REQUESTs
|
-- Table of valid REQUESTs
|
||||||
local REQUEST = {
|
local REQUEST = {
|
||||||
|
|||||||
@@ -35,11 +35,10 @@
|
|||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local ipOps = require "ipOps"
|
local ipOps = require "ipOps"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
stdnse.silent_require('openssl')
|
local openssl = stdnse.silent_require('openssl')
|
||||||
_ENV = stdnse.module("bitcoin", stdnse.seeall)
|
_ENV = stdnse.module("bitcoin", stdnse.seeall)
|
||||||
|
|
||||||
-- A class that supports the BitCoin network address structure
|
-- A class that supports the BitCoin network address structure
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ local base64 = require "base64"
|
|||||||
local comm = require "comm"
|
local comm = require "comm"
|
||||||
local coroutine = require "coroutine"
|
local coroutine = require "coroutine"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
@@ -114,7 +113,7 @@ local url = require "url"
|
|||||||
_ENV = stdnse.module("http", stdnse.seeall)
|
_ENV = stdnse.module("http", stdnse.seeall)
|
||||||
|
|
||||||
---Use ssl if we have it
|
---Use ssl if we have it
|
||||||
local have_ssl = (nmap.have_ssl() and pcall(require, "openssl"))
|
local have_ssl, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
local USER_AGENT = stdnse.get_script_args('http.useragent') or "Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html)"
|
local USER_AGENT = stdnse.get_script_args('http.useragent') or "Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html)"
|
||||||
local MAX_REDIRECT_COUNT = 5
|
local MAX_REDIRECT_COUNT = 5
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ local bin = require "bin"
|
|||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("iax2", stdnse.seeall)
|
_ENV = stdnse.module("iax2", stdnse.seeall)
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ local bin = require "bin"
|
|||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local ipOps = require "ipOps"
|
local ipOps = require "ipOps"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("iscsi", stdnse.seeall)
|
_ENV = stdnse.module("iscsi", stdnse.seeall)
|
||||||
|
|||||||
@@ -107,7 +107,6 @@ local bit = require "bit"
|
|||||||
local math = require "math"
|
local math = require "math"
|
||||||
local match = require "match"
|
local match = require "match"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local shortport = require "shortport"
|
local shortport = require "shortport"
|
||||||
local smb = require "smb"
|
local smb = require "smb"
|
||||||
@@ -132,7 +131,7 @@ _ENV = stdnse.module("mssql", stdnse.seeall)
|
|||||||
--
|
--
|
||||||
-- (Patrik Karlsson, Chris Woodbury)
|
-- (Patrik Karlsson, Chris Woodbury)
|
||||||
|
|
||||||
HAVE_SSL = (nmap.have_ssl() and pcall(require, "openssl"))
|
local openssl, HAVE_SSL = pcall(require, "openssl")
|
||||||
|
|
||||||
do
|
do
|
||||||
namedpipes = smb.namedpipes
|
namedpipes = smb.namedpipes
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
@@ -26,11 +25,7 @@ _ENV = stdnse.module("mysql", stdnse.seeall)
|
|||||||
|
|
||||||
local tab = require('tab')
|
local tab = require('tab')
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
if pcall(require,'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
end
|
|
||||||
|
|
||||||
Capabilities =
|
Capabilities =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("pgsql", stdnse.seeall)
|
_ENV = stdnse.module("pgsql", stdnse.seeall)
|
||||||
|
|||||||
@@ -6,18 +6,12 @@
|
|||||||
local base64 = require "base64"
|
local base64 = require "base64"
|
||||||
local comm = require "comm"
|
local comm = require "comm"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("pop3", stdnse.seeall)
|
_ENV = stdnse.module("pop3", stdnse.seeall)
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
if pcall(require,'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
err = {
|
err = {
|
||||||
|
|||||||
@@ -43,16 +43,19 @@
|
|||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local openssl = require "openssl"
|
|
||||||
local smbauth = require "smbauth"
|
local smbauth = require "smbauth"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
_ENV = stdnse.module("sasl", stdnse.seeall)
|
_ENV = stdnse.module("sasl", stdnse.seeall)
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require, 'openssl')
|
||||||
|
if ( not(HAVE_SSL) ) then
|
||||||
|
stdnse.print_debug(1,
|
||||||
|
"sasl.lua: OpenSSL not present, SASL support limited.")
|
||||||
|
end
|
||||||
local MECHANISMS = { }
|
local MECHANISMS = { }
|
||||||
|
|
||||||
|
if HAVE_SSL then
|
||||||
-- Calculates a DIGEST MD5 response
|
-- Calculates a DIGEST MD5 response
|
||||||
DigestMD5 = {
|
DigestMD5 = {
|
||||||
|
|
||||||
@@ -235,14 +238,6 @@ NTLM = {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if pcall(require, 'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
else
|
|
||||||
stdnse.print_debug(1,
|
|
||||||
"sasl.lua: OpenSSL not present, SASL support limited.")
|
|
||||||
end
|
|
||||||
|
|
||||||
if HAVE_SSL then
|
|
||||||
--- Encodes the parameters using the <code>CRAM-MD5</code> mechanism.
|
--- Encodes the parameters using the <code>CRAM-MD5</code> mechanism.
|
||||||
--
|
--
|
||||||
-- @param username string.
|
-- @param username string.
|
||||||
|
|||||||
@@ -44,9 +44,9 @@
|
|||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("sip", stdnse.seeall)
|
_ENV = stdnse.module("sip", stdnse.seeall)
|
||||||
|
|||||||
@@ -82,13 +82,12 @@
|
|||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("smbauth", stdnse.seeall)
|
_ENV = stdnse.module("smbauth", stdnse.seeall)
|
||||||
|
|
||||||
have_ssl = (nmap.have_ssl() and pcall(require, "openssl"))
|
local openssl, have_ssl = pcall(require, "openssl")
|
||||||
|
|
||||||
-- Constants
|
-- Constants
|
||||||
local NTLMSSP_NEGOTIATE = 0x00000001
|
local NTLMSSP_NEGOTIATE = 0x00000001
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ local bin = require "bin"
|
|||||||
local bit = require "bit"
|
local bit = require "bit"
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
_ENV = stdnse.module("ssh1", stdnse.seeall)
|
_ENV = stdnse.module("ssh1", stdnse.seeall)
|
||||||
|
|
||||||
--- Retrieve the size of the packet that is being received
|
--- Retrieve the size of the packet that is being received
|
||||||
|
|||||||
@@ -31,17 +31,12 @@
|
|||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
_ENV = stdnse.module("vnc", stdnse.seeall)
|
_ENV = stdnse.module("vnc", stdnse.seeall)
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
if pcall(require,'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
end
|
|
||||||
|
|
||||||
VNC = {
|
VNC = {
|
||||||
|
|
||||||
|
|||||||
@@ -34,17 +34,12 @@
|
|||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
local target = require "target"
|
local target = require "target"
|
||||||
_ENV = stdnse.module("wsdd", stdnse.seeall)
|
_ENV = stdnse.module("wsdd", stdnse.seeall)
|
||||||
|
|
||||||
local HAVE_SSL = false
|
local HAVE_SSL, openssl = pcall(require,'openssl')
|
||||||
|
|
||||||
if pcall(require,'openssl') then
|
|
||||||
HAVE_SSL = true
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The different probes
|
-- The different probes
|
||||||
local probes = {
|
local probes = {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ local stdnse = require "stdnse"
|
|||||||
local shortport = require "shortport"
|
local shortport = require "shortport"
|
||||||
local dns = require "dns"
|
local dns = require "dns"
|
||||||
local base32 = require "base32"
|
local base32 = require "base32"
|
||||||
local openssl = require "openssl"
|
|
||||||
local msrpc = require "msrpc" -- just for random string generation
|
local msrpc = require "msrpc" -- just for random string generation
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
@@ -10,6 +9,8 @@ local nmap = require "nmap"
|
|||||||
local string = require "string"
|
local string = require "string"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
|
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
|
|
||||||
description = [[
|
description = [[
|
||||||
Tries to enumerate domain names from the DNS server that supports DNSSEC
|
Tries to enumerate domain names from the DNS server that supports DNSSEC
|
||||||
NSEC3 records.
|
NSEC3 records.
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ local bin = require "bin"
|
|||||||
local datafiles = require "datafiles"
|
local datafiles = require "datafiles"
|
||||||
local http = require "http"
|
local http = require "http"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local shortport = require "shortport"
|
local shortport = require "shortport"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
@@ -158,7 +157,8 @@ end
|
|||||||
|
|
||||||
function randomstring()
|
function randomstring()
|
||||||
local rnd, s, l, _
|
local rnd, s, l, _
|
||||||
if pcall(require, "openssl") then
|
local status, openssl = pcall(require, "openssl")
|
||||||
|
if status then
|
||||||
rnd = openssl.rand_pseudo_bytes
|
rnd = openssl.rand_pseudo_bytes
|
||||||
end
|
end
|
||||||
s = rnd and rnd(8) or tostring( os.time() )
|
s = rnd and rnd(8) or tostring( os.time() )
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
local http = require "http"
|
local http = require "http"
|
||||||
local io = require "io"
|
local io = require "io"
|
||||||
local json = require "json"
|
local json = require "json"
|
||||||
local openssl = require "openssl"
|
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
local tab = require "tab"
|
local tab = require "tab"
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ local smb = require 'smb'
|
|||||||
local stdnse = require 'stdnse'
|
local stdnse = require 'stdnse'
|
||||||
local tab = require 'tab'
|
local tab = require 'tab'
|
||||||
local table = require "table"
|
local table = require "table"
|
||||||
local openssl= require 'openssl'
|
local openssl= stdnse.silent_require 'openssl'
|
||||||
|
|
||||||
description = [[
|
description = [[
|
||||||
Attempts to retrieve useful information about files shared on SMB volumes.
|
Attempts to retrieve useful information about files shared on SMB volumes.
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
local brute = require "brute"
|
local brute = require "brute"
|
||||||
local creds = require "creds"
|
local creds = require "creds"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
local openssl = require "openssl"
|
|
||||||
local shortport = require "shortport"
|
local shortport = require "shortport"
|
||||||
local stdnse = require "stdnse"
|
local stdnse = require "stdnse"
|
||||||
|
local openssl = stdnse.silent_require "openssl"
|
||||||
|
|
||||||
description = [[
|
description = [[
|
||||||
Performs brute force password auditing against Subversion source code control servers.
|
Performs brute force password auditing against Subversion source code control servers.
|
||||||
|
|||||||
Reference in New Issue
Block a user