useful tools, probably should be part of ctf
This commit is contained in:
parent
c2244a4586
commit
c279365ccc
52
lib/util.rb
Normal file
52
lib/util.rb
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/ruby
|
||||||
|
|
||||||
|
require 'base64'
|
||||||
|
require 'net/http'
|
||||||
|
require 'uri'
|
||||||
|
|
||||||
|
class Utility
|
||||||
|
|
||||||
|
# TODO add a logger here
|
||||||
|
|
||||||
|
def self.get_url(url)
|
||||||
|
uri = URI.parse(url)
|
||||||
|
http = Net::HTTP.new(uri.host, uri.port)
|
||||||
|
http.use_ssl = false
|
||||||
|
request = Net::HTTP::Get.new(uri.request_uri)
|
||||||
|
response = http.request(request)
|
||||||
|
|
||||||
|
if response.code.eql?('301')
|
||||||
|
return self.get_url(response.header['location'])
|
||||||
|
end
|
||||||
|
|
||||||
|
response
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.base64_decode(string)
|
||||||
|
Base64.strict_decode64(string)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.base64_encode(string)
|
||||||
|
Base64.strict_decode64(string)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.uri_encode(string)
|
||||||
|
URI.encode(string)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.uri_decode(string)
|
||||||
|
URI.decode(string)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.uri_form_decode(string)
|
||||||
|
h = Hash.new
|
||||||
|
|
||||||
|
URI.decode_www_form(string).each do |array|
|
||||||
|
h[array.first.to_sym] = array.last
|
||||||
|
end
|
||||||
|
|
||||||
|
h
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user