Ruby HTTP Toolz - by pRotos

  • 0 Respuestas
  • 2187 Vistas

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

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5706
  • Actividad:
    30%
  • Country: ar
  • Reputación 37
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Ruby HTTP Toolz - by pRotos

  • en: Febrero 24, 2010, 04:11:16 pm
HEADER INYECTOR
Código: Ruby
  1. require 'socket'
  2. host=ARGV[0]
  3. puts "*Inyector en Headers*[v0.0]\n"
  4. puts "Path para la request:"
  5. path=gets.chomp
  6. puts "Inyeccion en Referent:"
  7. ref=gets.chomp
  8. puts "Inyeccion en User-Agent (Navegador):"
  9. usag=gets.chomp
  10. puts "Inyeccion en la cookie:"
  11. cook=gets.chomp
  12. CRLF = "\r\n"
  13. req = "GET #{path} HTTP/1.1#{CRLF}Host: #{host}#{CRLF}Referer: #{ref}#{CLRF}User-Agent: #{usag}#{CLRF}Cookie: #{cook}#{CLRF*2}"
  14. sock=TCPSocket.new(host, 80)
  15. sock.print req
  16. 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
  1. require 'socket'
  2. host = ARGV[0]
  3. met = ARGV[1]
  4. if !host
  5.    puts " USO:  HTTP2.rb <host> <m?todo>"
  6.    puts " EJEMPLO:  HTTP2.rb www.google.com OPTIONS"
  7. else
  8. begin
  9. sock = TCPSocket.new( host , 80 )
  10. rescue Errno::ECONNREFUSED
  11. end
  12. if !sock
  13.    puts " No se pudo conectar"
  14. else
  15.    puts " Socket conectado !"
  16. end
  17. sock.print met, " / HTTP/1.1\nHost:" , host, "\n\n"
  18. while (res = sock.recv(100))
  19. print res
  20. end
  21. sock.close
  22. end

HTTP method sender, Modo Gr?fico
Código: Ruby
  1. require 'net/http'
  2. require 'tk'
  3.  
  4. root = TkRoot.new() {title "HTTP Tool By pRotos"}
  5.  
  6. TkLabel.new(root) {
  7.    text "Host:"
  8.    pack("side"=>"top")
  9.    }
  10.    
  11. host = TkVariable.new()
  12. path = TkVariable.new()
  13. met = TkVariable.new()
  14.  
  15. TkEntry.new(root) {
  16.    textvariable(host)
  17.    pack("side"=>"top")
  18.    }
  19.    
  20. TkLabel.new(root) {
  21.    text "Directorio:"
  22.    pack("side"=>"top")
  23.    }
  24.    
  25. TkEntry.new(root) {
  26.    textvariable(path)
  27.    pack("side"=>"top")
  28.    }
  29.    
  30. TkLabel.new(root) {
  31.    text "Metodo HTTP:"
  32.    pack("side"=>"top")
  33.    }
  34.    
  35. TkEntry.new(root) {
  36.    textvariable(met)
  37.    pack("side"=>"top")
  38.    }
  39.  
  40. lbl = TkText.new(root) { width 100; height 50 }.pack("side"=>"bottom")
  41.  
  42. TkButton.new(root) {
  43.    text "Ok!"
  44.    command proc {    
  45.    Net::HTTP.start(host.value) {|http|
  46.        resp = http.send_request( met.value, path.value)
  47.        lbl.insert('end', resp.body )
  48.        lbl.insert('end', "\n\n\n\n")
  49.        }
  50.        }
  51.    pack("side"=>"top")
  52.    }
  53.  
  54.  
  55.        
  56. TkLabel.new(root) {
  57.    text "Pantalla HTTP"
  58.    pack ("side"=>"bottom")
  59.    }
  60.    
  61. TkButton.new(root) {
  62.    text " Clear "
  63.    command proc { lbl.clear }
  64.    pack("side"=>"bottom")
  65.    }
  66.    
  67. 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
  1. require 'socket'
  2. require 'tk'
  3.  
  4. root = TkRoot.new() {title " HTTP Fingerprinting"}
  5.  
  6. host = TkVariable.new()
  7. met = TkVariable.new()
  8.  
  9. TkLabel.new(root) {
  10.    text "Host: "
  11.    pack()
  12. }
  13.  
  14. TkEntry.new(root) {
  15.    textvariable(host)
  16.    pack()
  17. }
  18.  
  19. lbl = TkText.new(root) { width 50; height 25 }.pack("side"=>"bottom")
  20.  
  21. TkButton.new(root) {
  22.    text "Ok!"
  23.    command proc {
  24.       sock = TCPSocket.new(host.value, 80)
  25.       sock.print "GET / HTTP/1.1 \n"
  26.       sock.print "Host: ", host.value, "\n\n"
  27.       res=sock.recv(400)
  28.       lbl.insert('end', res)
  29.       lbl.insert('end', "\n\n\n\n\n\n\n\n")
  30.       sack = TCPSocket.new(host.value, 80)
  31.       sack.print "OPTIONS / HTTP/1.1 \n"
  32.       sack.print "Host: ", host.value, "\n\n"
  33.       ras=sack.recv(400)
  34.       lbl.insert('end', ras)
  35.       sick = TCPSocket.new(host.value, 80)
  36.       sick.print "HEAD / HTTP/1.1 \n"
  37.       sick.print "Host: ", host.value, "\n\n"
  38.       ris = sick.recv(400)
  39.       sock.close
  40.       sack.close
  41.       sick.close
  42.       }
  43.    pack("side"=>"top")
  44.    }
  45.    
  46. TkButton.new(root) {
  47.    text " Clear "
  48.    command proc { lbl.clear }
  49.    pack("side"=>"bottom")
  50.    }
  51.    
  52. Tk.mainloop()
« Última modificación: Julio 31, 2014, 09:48:39 pm por Expermicid »


 

[Ruby] Traductor de Decimal a Ascii / Ascii a Decimal

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2853
Último mensaje Febrero 24, 2010, 04:16:38 pm
por ANTRAX
Lenguaje Ruby, aprendiendo poco a poco.

Iniciado por Alejandro_99

Respuestas: 2
Vistas: 3161
Último mensaje Agosto 15, 2013, 02:58:39 pm
por Alejandro_99
Crafting rails 4 applications (Manual de Ruby on Rails 4)

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1997
Último mensaje Marzo 01, 2014, 05:34:50 pm
por Alejandro_99
Desarrollo de aplicaciones Perl, PHP, Python y "Ruby on Rails"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2475
Último mensaje Junio 13, 2014, 03:27:08 pm
por Alejandro_99
Como Instalar RubyMine y Crear un proyecto vacio para Ruby y Rails

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2900
Último mensaje Julio 07, 2013, 10:51:08 pm
por Alejandro_99