From 8663003c36b3f59c6bdbabc200cf7fd6ff5a1b2d Mon Sep 17 00:00:00 2001 From: david Date: Tue, 20 May 2008 06:13:26 +0000 Subject: [PATCH] The NSE HTTP library now uses the host name specified on the command line when making requests, which improves script scanning against web servers with virtual hosts. Thanks to Sven Klemm for the patch. --- CHANGELOG | 4 ++++ nselib/http.lua | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 86645e5c4..87d4b25ad 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,9 @@ # Nmap Changelog ($Id$); -*-text-*- +o The NSE HTTP library now uses the host name specified on the command + line when making requests, which improves script scanning against web + servers with virtual hosts. Thanks to Sven Klemm for the patch. + o Removed a superfluous test for the existence of the C++ compiler in the configure script. The test was not robust when configured with CXX="ccache g++". Thanks to Rainer Müller for the report. diff --git a/nselib/http.lua b/nselib/http.lua index 2718d51b1..79908edb4 100644 --- a/nselib/http.lua +++ b/nselib/http.lua @@ -24,7 +24,7 @@ get = function( host, port, path, options ) options = options or {} local presets = {Host=host,Connection="close",['User-Agent']="Nmap NSE"} if type(host) == 'table' then - presets['Host'] = ( host.name ~= '' and host.name ) or host.ip + presets['Host'] = host.targetname or ( host.name ~= '' and host.name ) or host.ip end local header = options.header or {} @@ -72,7 +72,7 @@ request = function( host, port, data, options ) options = options or {} if type(host) == 'table' then - host = host.targetname or ( host.name ~= '' and host.name ) or host.ip + host = host.ip end local protocol = 'tcp'