mirror of
https://github.com/nmap/nmap.git
synced 2025-12-22 07:29:01 +00:00
Re-indent some scripts. Whitespace-only commit
https://secwiki.org/w/Nmap/Code_Standards
This commit is contained in:
@@ -43,60 +43,60 @@ local arg_password = stdnse.get_script_args(SCRIPT_NAME .. ".password") or ""
|
||||
local function fail(err) return ("\n ERROR: %s"):format(err or "") end
|
||||
|
||||
local function getCredentials()
|
||||
-- first, let's see if the script has any credentials as arguments?
|
||||
if ( arg_username ) then
|
||||
return { [arg_username] = arg_password }
|
||||
-- next, let's see if mysql-brute or mysql-empty-password brought us anything
|
||||
elseif nmap.registry.mysqlusers then
|
||||
-- do we have root credentials?
|
||||
if nmap.registry.mysqlusers['root'] then
|
||||
return { ['root'] = nmap.registry.mysqlusers['root'] }
|
||||
else
|
||||
-- we didn't have root, so let's make sure we loop over them all
|
||||
return nmap.registry.mysqlusers
|
||||
end
|
||||
-- last, no dice, we don't have any credentials at all
|
||||
end
|
||||
-- first, let's see if the script has any credentials as arguments?
|
||||
if ( arg_username ) then
|
||||
return { [arg_username] = arg_password }
|
||||
-- next, let's see if mysql-brute or mysql-empty-password brought us anything
|
||||
elseif nmap.registry.mysqlusers then
|
||||
-- do we have root credentials?
|
||||
if nmap.registry.mysqlusers['root'] then
|
||||
return { ['root'] = nmap.registry.mysqlusers['root'] }
|
||||
else
|
||||
-- we didn't have root, so let's make sure we loop over them all
|
||||
return nmap.registry.mysqlusers
|
||||
end
|
||||
-- last, no dice, we don't have any credentials at all
|
||||
end
|
||||
end
|
||||
|
||||
local function mysqlLogin(socket, username, password)
|
||||
local status, response = mysql.receiveGreeting( socket )
|
||||
if ( not(status) ) then
|
||||
return response
|
||||
end
|
||||
return mysql.loginRequest( socket, { authversion = "post41", charset = response.charset }, username, password, response.salt )
|
||||
local status, response = mysql.receiveGreeting( socket )
|
||||
if ( not(status) ) then
|
||||
return response
|
||||
end
|
||||
return mysql.loginRequest( socket, { authversion = "post41", charset = response.charset }, username, password, response.salt )
|
||||
end
|
||||
|
||||
|
||||
action = function(host, port)
|
||||
local creds = getCredentials()
|
||||
if ( not(creds) ) then
|
||||
stdnse.print_debug(2, "No credentials were supplied, aborting ...")
|
||||
return
|
||||
end
|
||||
local creds = getCredentials()
|
||||
if ( not(creds) ) then
|
||||
stdnse.print_debug(2, "No credentials were supplied, aborting ...")
|
||||
return
|
||||
end
|
||||
|
||||
local result = {}
|
||||
for username, password in pairs(creds) do
|
||||
local socket = nmap.new_socket()
|
||||
if ( not(socket:connect(host, port)) ) then
|
||||
return fail("Failed to connect to server")
|
||||
end
|
||||
local result = {}
|
||||
for username, password in pairs(creds) do
|
||||
local socket = nmap.new_socket()
|
||||
if ( not(socket:connect(host, port)) ) then
|
||||
return fail("Failed to connect to server")
|
||||
end
|
||||
|
||||
local status, response = mysqlLogin(socket, username, password)
|
||||
if ( status ) then
|
||||
local query = "SELECT DISTINCT CONCAT(user, ':', password) FROM mysql.user WHERE password <> ''"
|
||||
local status, rows = mysql.sqlQuery( socket, query )
|
||||
socket:close()
|
||||
if ( status ) then
|
||||
result = mysql.formatResultset(rows, { noheaders = true })
|
||||
break
|
||||
end
|
||||
else
|
||||
socket:close()
|
||||
end
|
||||
end
|
||||
local status, response = mysqlLogin(socket, username, password)
|
||||
if ( status ) then
|
||||
local query = "SELECT DISTINCT CONCAT(user, ':', password) FROM mysql.user WHERE password <> ''"
|
||||
local status, rows = mysql.sqlQuery( socket, query )
|
||||
socket:close()
|
||||
if ( status ) then
|
||||
result = mysql.formatResultset(rows, { noheaders = true })
|
||||
break
|
||||
end
|
||||
else
|
||||
socket:close()
|
||||
end
|
||||
end
|
||||
|
||||
if ( result ) then
|
||||
return stdnse.format_output(true, result)
|
||||
end
|
||||
if ( result ) then
|
||||
return stdnse.format_output(true, result)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user