jueves, 15 de enero de 2015

Python A Lo Macarra.- ¡¿Paginaciones A Mi?!

Ya tocaba hacer algo con python, que lo tenia medio olvidado. Si os acordáis, hace unos días [hablamos de XSSPosed] un "repositorio" de vulnerabilidades XSS y si le habéis mirado un poco sabréis que en la sección de XSS mirrors archive había unos números abajo muy chulos los cuales te permiten cambiar de página. 


Así que, con el animo de hacer un programa para automatizar la búsqueda de una pagina web en esta página me he fijado que la url era bastante fácil de ser tratada. 
  • https://www.xssposed.org/incidents/page/0/
Solo hace falta cambiar el 0 por un numero para que vaya pasando por las diferentes paginas así que yo me he currado la el siguiente script. Es una "macarrada" ya que se podría hacer una búsqueda mas rápida utilizando la url que sale de la barra de búsquedas de la pagina. Pero, como me ha parecido graciosa la url pues me he puesto a trabajar en ello. 

import urllib
import re

d0 = 0 
while True:
d1 = "https://www.xssposed.org/incidents/page/"+str(d0)+"/"
a = urllib.urlopen(d1)
c = a.read()
f = re.search(r"TUWEBAQUISINWWW.",c)
g = re.search(r'404 Error: Page Not found',c)
print d1
if g: 
print g.group()
break
elif f: 
print f.group()
else: 
print "Nothing Found"
d0 += 1

Como podeis ver y si no os lo explico, lo unico que hago es hacer un bucle while para que d0 siempre vaya incrementado su numero. Después, gracias a las expresiones regulares,  parseo el código fuente de la pagina en busca de la web park-malard.ir o del error 404 Error: Page Not found que sale cuando indicas una pagina que no esta creada. 

Para finalizar solo le decimos que imprima lo que debe en cada caso. Si sale un 404 o la pagina le indicamos que imprima lo parseado y si es un 404 entonces que rompa el bucle y con ello finalice el programa. Bueno, y si no encuentra nada que improma un Nothing Found que siempre queda bien. 



Esto es solo una PoC y si tubiera mas tiempo lo apañaria para que solo imprimiera los XSS encontrados al final del escaneo e indicara mucha mas información. Pero, por hoy ya esta bien así y como os digo, es una "macarrada" ya que si cogemos la siguiente url y cambiamos el ajkdh por la web que queramos y parseamos el resultado, el resultado es el mismo y mas rápido ya nosotros solo tendriamos que parsear y cargar 1 web. 

URL mencionada anteriormente:
  • https://www.xssposed.org/search/?search=ajkdh&type=host
Espero que os haya gustado la entrado igual que lo bien que me lo he pasado yo jugando con esto durante un rato. 

Sed Buenos ;) 



No hay comentarios:

Publicar un comentario en la entrada