mirror of
https://github.com/nmap/nmap.git
synced 2026-01-20 13:19:01 +00:00
splay an error when a directory listing can't be found in ftp-anon,
instead of throwing an exception (and losing the fact that anonymous FTP was allowed).
This commit is contained in:
@@ -162,18 +162,22 @@ action = function(host, port)
|
||||
result[#result + 1] = "Anonymous FTP login allowed (FTP code " .. code .. ")"
|
||||
|
||||
if not max_list or max_list > 0 then
|
||||
local listing = try(list(socket, host, max_list))
|
||||
local status, listing = list(socket, host, max_list)
|
||||
socket:close()
|
||||
|
||||
for _, item in ipairs(listing) do
|
||||
-- Just a quick passive check on user rights.
|
||||
if string.match(item, "^[d-].......w.") then
|
||||
item = item .. " [NSE: writeable]"
|
||||
if not status then
|
||||
result[#result + 1] = "Can't get directory listing: " .. listing
|
||||
else
|
||||
for _, item in ipairs(listing) do
|
||||
-- Just a quick passive check on user rights.
|
||||
if string.match(item, "^[d-].......w.") then
|
||||
item = item .. " [NSE: writeable]"
|
||||
end
|
||||
result[#result + 1] = item
|
||||
end
|
||||
if max_list and #listing == max_list then
|
||||
result[#result + 1] = string.format("Only %d shown. Use --script-args %s.maxlist=-1 to see all.", #listing, SCRIPT_NAME)
|
||||
end
|
||||
result[#result + 1] = item
|
||||
end
|
||||
if max_list and #listing == max_list then
|
||||
result[#result + 1] = string.format("Only %d shown. Use --script-args %s.maxlist=-1 to see all.", #listing, SCRIPT_NAME)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user