mirror of
https://github.com/carlospolop/PEASS-ng
synced 2025-03-25 05:46:23 +01:00
Handle 302 redirects of GitHub release URLs
This commit is contained in:
parent
5356d3f2ec
commit
3e213bd8fd
@ -220,6 +220,20 @@ class MetasploitModule < Msf::Post
|
|||||||
print_good("PEASS script sent")
|
print_good("PEASS script sent")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def fetch(uri_str, limit = 10)
|
||||||
|
raise 'Invalid URL, too many HTTP redirects' if limit == 0
|
||||||
|
response = Net::HTTP.get_response(URI(uri_str))
|
||||||
|
case response
|
||||||
|
when Net::HTTPSuccess then
|
||||||
|
response
|
||||||
|
when Net::HTTPRedirection then
|
||||||
|
location = response['location']
|
||||||
|
fetch(location, limit - 1)
|
||||||
|
else
|
||||||
|
response.value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def load_peass
|
def load_peass
|
||||||
# Load the PEASS script from a local file or from Internet
|
# Load the PEASS script from a local file or from Internet
|
||||||
peass_script = ""
|
peass_script = ""
|
||||||
@ -230,7 +244,7 @@ class MetasploitModule < Msf::Post
|
|||||||
raise 'Invalid URL' unless target.scheme =~ /https?/
|
raise 'Invalid URL' unless target.scheme =~ /https?/
|
||||||
raise 'Invalid URL' if target.host.to_s.eql? ''
|
raise 'Invalid URL' if target.host.to_s.eql? ''
|
||||||
|
|
||||||
res = Net::HTTP.get_response(target)
|
res = fetch(target)
|
||||||
peass_script = res.body
|
peass_script = res.body
|
||||||
|
|
||||||
raise "Something failed downloading PEASS script from #{url_peass}" if peass_script.length < 500
|
raise "Something failed downloading PEASS script from #{url_peass}" if peass_script.length < 500
|
||||||
|
Loading…
x
Reference in New Issue
Block a user