martes, 17 de febrero de 2015

Python.- Búsqueda Pasiva De Vulnerabilidades XSS.

Hace tiempo que os hablé de XSSpose, un repositorio de vulnerabilidades XSS y hasta hice un script en Python para buscar en las diferentes paginas. Pero no servia para nada ya que era demasiado lento y tenias que escribir la pagina web perfecta para que lo encontrara.


Así que me he puesto a crear un script que utilizara la barra de búsqueda de la pagina y me lo guarde todo en un .txt por lineas la mar de mono. Ademas, lo he preparado para cuando conozca algún otro repositorio similar pueda hacer el parseo correspondiente.

Espero que os guste, os dejo el código aquí, OJO esta escrito en Python 3.4:

import urllib.request
import re

def XSSearch(query):
    data = "https://www.xssposed.org/search/?search="+ query +"&type=host"
    web = urllib.request.urlopen(data)
    d = str(web.read())
    d1 =  re.search(r"</h3>(.*)XSS mirror", d)
    d2 =  re.search(r"",d)
    print ("--> " + d1.group(1) + "Vulnerabilidades encontradas en "+"%s" % query)
    print ("    + " + data + "\n")
    reporte =  open("VXss.txt", "a+")
    reporte.write("XSSposed:")
    reporte.write("--> " + d1.group(1) + "Vulnerabilidades encontradas en "+"%s" % query)
    reporte.write("    + " + data + "\n")

if __name__ == "__main__":
 
    webs = []
    while True:
        busqueda =  input("Web a buscar: ")
        webs.append(busqueda)
        if busqueda == "":
            print ("XSSposed:")
            for web in webs:
                if not web == "":
                    XSSearch(web)
            input("El resultado de estas busquedas tambien ha sido guardado en VXss.txt, dale a [Enter] para salir:")
            break
             
        print ("Listado de Webs a buscar: ")      
        print (webs)

Seguro que se podría mejorar y lo primero que se me ocurre es añadirle webs que vayamos recopilando desde un .txt, que lea las filas y las añada a la lista para ser buscadas a luego. 

Algo así:

webs = []
webd = open("Webdic.txt","r")
lineas = webd.readlines()
webd.close()
for line in lineas:
    print (line)
    webs.append(line)
print (webs)


Si conocéis mas repositorios XSS decidmelo que tengo ganas de que esto tire para adelante por favor. 

Sed Buenos ;) 

No hay comentarios:

Publicar un comentario en la entrada