Hola, a todo el mundo que le guste python le invito a participar en mi proyecto de software libre que se trata de un script que examina las cabeceras http de un sitio web y genera un informe y si puede explotar de alguna forma explotará (por ejemplo , subir una shell con el metodo put). Contará con GUI desarrollada con Tkinter esto es lo que llevo de code :
Este code tiene muchos bugs que debo arreglar pero es una version "pre alpha"
Quien quiera participar que me mande un mp.
Código (python) [Seleccionar]
import socket,string
from Tkinter import *
class miventana :
def buscarcadena(self,cadena,cabeceraabuscar):
longitudc = len(cadena)
otronumero=0
lista = []
longutdcab=len("\n")
numero=0
while numero <= longitudc-longutdcab:
if cadena[numero:numero+longutdcab]=="\n":
lista.append(numero)
otronumero+=1
else:
pass
numero+=1
numero = 0
for numero in range(len(lista)-1):
if cadena[lista[numero]:lista[numero+1]].find(cabeceraabuscar)!=-1:
return cadena[lista[numero]:lista[numero+1]]
return -1
def __init__ (self):
#Se declara la ventana
self.ventana = Tk()
self.ventana.minsize(400,100)
self.ventana.title("PyHttp Explorer")
#Variable del textbox
self.host = StringVar()
#Se declaran los controles
self.label = Label(self.ventana,text = "Host : ")
self.textbox = Entry(self.ventana,textvariable=self.host)
self.boton = Button(self.ventana,text="Conectar",command = self.conectar)
#Aqui se va poniendo los controles en las ventanas
self.label.grid(row=0,column=0)
self.textbox.grid(row=0,column=15)
self.boton.grid(row=1,column=15)
def conectar(self):
socket1 = socket.socket()
socket1.connect((self.host.get(),80))
socket1.send("OPTIONS / HTTP/1.0\r\n\r\nHost :"+self.host.get()+"\r\n\r\n")
self.textorecibido=socket1.recv(4096)
self.allow=self.buscarcadena(self.textorecibido,"Allow")
if self.allow!=-1:
self.lalabel = Label(self.ventana,text=self.allow)
self.lalabel.grid(row=3,column=10)
else :
self.lalabel = Label(self.ventana,text="No se encontro la cabecera Allow")
self.lalabel.grid(row=3,column=10)
self.server = self.buscarcadena(self.textorecibido,"Server")
if self.server!=-1:
self.serverlabel = Label(self.ventana,text = self.server)
self.serverlabel.grid(row=4,column =10)
else :
self.serverlabel = Label(self.ventana,text = "No se encontro la cabecera server")
self.serverlabel.grid(row=4,column=10)
def principal(self):
self.ventana.mainloop()
ventana = miventana()
ventana.principal()
Este code tiene muchos bugs que debo arreglar pero es una version "pre alpha"
Quien quiera participar que me mande un mp.