Use TARGET_URI when checking the redirection URI
This commit is contained in:
@@ -130,12 +130,12 @@ class MetasploitModule < Msf::Exploit::Remote
|
||||
)
|
||||
raise IvantiUnknownError, "[login_admin] No response from '#{uri}'" if res.nil?
|
||||
|
||||
if res.code == 302 && res.redirection.to_s == '/dana-na/auth/url_admin/welcome.cgi?p=admin%2Dconfirm'
|
||||
if res.code == 302 && res.redirection.to_s == normalize_uri(target_uri.path, '/dana-na/auth/url_admin/welcome.cgi?p=admin%2Dconfirm')
|
||||
print_warning("The admin #{datastore['ADMIN_USERNAME']} is already logged in")
|
||||
res = confirm_login_admin(res.redirection.to_s)
|
||||
res = confirm_login_admin(normalize_uri(target_uri.path, res.redirection.to_s))
|
||||
end
|
||||
|
||||
if res.code != 302 || res.redirection.to_s != '/dana-admin/misc/admin.cgi'
|
||||
if res.code != 302 || res.redirection.to_s != normalize_uri(target_uri.path, '/dana-admin/misc/admin.cgi')
|
||||
raise IvantiNoAccessError, "[login_admin] Login failed (username: #{datastore['ADMIN_USERNAME']}, password: #{datastore['ADMIN_PASSWORD']})"
|
||||
end
|
||||
end
|
||||
@@ -224,12 +224,12 @@ class MetasploitModule < Msf::Exploit::Remote
|
||||
)
|
||||
raise IvantiUnknownError, "[login_user] No response from '#{uri}'" if res.nil?
|
||||
|
||||
if res.code == 302 && res.redirection.to_s == '/dana-na/auth/url_default/welcome.cgi?p=user%2Dconfirm'
|
||||
if res.code == 302 && res.redirection.to_s == normalize_uri(target_uri.path, '/dana-na/auth/url_default/welcome.cgi?p=user%2Dconfirm')
|
||||
print_warning("User #{datastore['USERNAME']} is already logged in.")
|
||||
res = confirm_login_user(res.redirection.to_s)
|
||||
res = confirm_login_user(normalize_uri(target_uri.path, res.redirection.to_s))
|
||||
end
|
||||
|
||||
if res.code != 302 && res.redirection.to_s != '/dana/home/starter0.cgi?check=yes'
|
||||
if res.code != 302 && res.redirection.to_s != normalize_uri(target_uri.path, '/dana/home/starter0.cgi?check=yes')
|
||||
raise IvantiNoAccessError, "[login_user] Login failed (username: #{datastore['USERNAME']}, password: #{datastore['PASSWORD']})"
|
||||
end
|
||||
end
|
||||
@@ -402,7 +402,7 @@ class MetasploitModule < Msf::Exploit::Remote
|
||||
)
|
||||
raise IvantiUnknownError, "[delete_log_file] No response from '#{uri}'" if res.nil?
|
||||
|
||||
if res.code != 302 || res.redirection.to_s != '/dana-admin/auth/uploadedlogs.cgi'
|
||||
if res.code != 302 || res.redirection.to_s != normalize_uri(target_uri.path, '/dana-admin/auth/uploadedlogs.cgi')
|
||||
raise IvantiUnexpectedResponseError, "[delete_log_file] Unable to delete the log file (status code=#{res.code})"
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user