Ruby HTTP Toolz - by pRotos

Iniciado por ANTRAX, Febrero 24, 2010, 04:11:16 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 24, 2010, 04:11:16 PM Ultima modificación: Julio 31, 2014, 09:48:39 PM por Expermicid
HEADER INYECTOR
Código: ruby
require 'socket'
host=ARGV[0]
puts "*Inyector en Headers*[v0.0]\n"
puts "Path para la request:"
path=gets.chomp
puts "Inyeccion en Referent:"
ref=gets.chomp
puts "Inyeccion en User-Agent (Navegador):"
usag=gets.chomp
puts "Inyeccion en la cookie:"
cook=gets.chomp
CRLF = "\r\n"
req = "GET #{path} HTTP/1.1#{CRLF}Host: #{host}#{CRLF}Referer: #{ref}#{CLRF}User-Agent: #{usag}#{CLRF}Cookie: #{cook}#{CLRF*2}"
sock=TCPSocket.new(host, 80)
sock.print req
sock.close()


Muy simple inyector en los headers http, sin interfaz gr?fica, pero perfectamente funcional, ?til para defacing, y wargames.

salu2!

HTTP method sender Console Mode
Código: ruby
require 'socket'
host = ARGV[0]
met = ARGV[1]
if !host
puts " USO:  HTTP2.rb <host> <m?todo>"
puts " EJEMPLO:  HTTP2.rb www.google.com OPTIONS"
else
begin
sock = TCPSocket.new( host , 80 )
rescue Errno::ECONNREFUSED
end
if !sock
puts " No se pudo conectar"
else
puts " Socket conectado !"
end
sock.print met, " / HTTP/1.1\nHost:" , host, "\n\n"
while (res = sock.recv(100))
print res
end
sock.close
end


HTTP method sender, Modo Gr?fico
Código: ruby
require 'net/http'
require 'tk'

root = TkRoot.new() {title "HTTP Tool By pRotos"}

TkLabel.new(root) {
text "Host:"
pack("side"=>"top")
}

host = TkVariable.new()
path = TkVariable.new()
met = TkVariable.new()

TkEntry.new(root) {
textvariable(host)
pack("side"=>"top")
}

TkLabel.new(root) {
text "Directorio:"
pack("side"=>"top")
}

TkEntry.new(root) {
textvariable(path)
pack("side"=>"top")
}

TkLabel.new(root) {
text "Metodo HTTP:"
pack("side"=>"top")
}

TkEntry.new(root) {
textvariable(met)
pack("side"=>"top")
}

lbl = TkText.new(root) { width 100; height 50 }.pack("side"=>"bottom")

TkButton.new(root) {
text "Ok!"
command proc {
Net::HTTP.start(host.value) {|http|
    resp = http.send_request( met.value, path.value)
    lbl.insert('end', resp.body )
    lbl.insert('end', "\n\n\n\n")
    }
    }
pack("side"=>"top")
}


   
TkLabel.new(root) {
text "Pantalla HTTP"
pack ("side"=>"bottom")
}

TkButton.new(root) {
text " Clear "
command proc { lbl.clear }
pack("side"=>"bottom")
}

Tk.mainloop()


Simple HTTP Fingerprinting (v0.1)
(digo version v0.1, porque tenia una version bastante mejorada, pero no la encuentro :S)
Código: ruby
require 'socket'
require 'tk'

root = TkRoot.new() {title " HTTP Fingerprinting"}

host = TkVariable.new()
met = TkVariable.new()

TkLabel.new(root) {
text "Host: "
pack()
}

TkEntry.new(root) {
textvariable(host)
pack()
}

lbl = TkText.new(root) { width 50; height 25 }.pack("side"=>"bottom")

TkButton.new(root) {
text "Ok!"
command proc {
sock = TCPSocket.new(host.value, 80)
sock.print "GET / HTTP/1.1 \n"
sock.print "Host: ", host.value, "\n\n"
res=sock.recv(400)
lbl.insert('end', res)
lbl.insert('end', "\n\n\n\n\n\n\n\n")
sack = TCPSocket.new(host.value, 80)
sack.print "OPTIONS / HTTP/1.1 \n"
sack.print "Host: ", host.value, "\n\n"
ras=sack.recv(400)
lbl.insert('end', ras)
sick = TCPSocket.new(host.value, 80)
sick.print "HEAD / HTTP/1.1 \n"
sick.print "Host: ", host.value, "\n\n"
ris = sick.recv(400)
sock.close
sack.close
sick.close
}
pack("side"=>"top")
}

TkButton.new(root) {
text " Clear "
command proc { lbl.clear }
pack("side"=>"bottom")
}

Tk.mainloop()