seguridad web.

Iniciado por bomba1990, 7 Octubre 2010, 04:11 AM

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

bomba1990

hola a todos, estoy empezando a entender esto de las vulnerabilidades web y ando medio enredado. posteo a ver si alguien me echa una manito. e estado biendo este blog  http://charsecurity.blogspot.com/search/label/Injection y estaba viendo como es la vulnerabilidad xss, pero no entendi mucho. veo que si trato yo de poner comillas simples no hace nada, no se ejecuta la Vulnerabilidad, pero si lo pones en la url codificada segun entiendo si se ejecuta el xss. alguien me puede explicar a que se debe, como prevenirse frente a esto??
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

jdc

Se debe a que la variable que es inyectable no fue debidamente limpiada, por ejemplo sí recibes una variable por get o post y la muestras sin mas será vulnerable a xss, sí quieres evitarlo en php puedes usar las funciones htmlentities o htmlspecialchars que hacen que el html de la variable no se intérprete y sólo se muestre en la página web.

Sobre como explotarlo pues depende del xss, la mayoría se explotan con ingeniería social ya sea poniendo en un iframe el código malísioso o que se yo

Saludos

Shell Root

O un simple:
Código (javascript) [Seleccionar]
<script>document.body.innerHTML="Soy un kaker de primera";</script>

PD: Ese blog es de mi amigo Progressive Death... :o
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

bomba1990

SHELL ROOT si lo consegui porque tu lo recomiendas en tu blog, el otro dia te puse un mensaje que a mi me gustaba leer tu blog.

ahora con lo de la Vulnerabilidad
Cita de: jdc en  7 Octubre 2010, 04:26 AM
Se debe a que la variable que es inyectable no fue debidamente limpiada, por ejemplo sí recibes una variable por get o post y la muestras sin mas será vulnerable a xss, sí quieres evitarlo en php puedes usar las funciones htmlentities o htmlspecialchars que hacen que el html de la variable no se intérprete y sólo se muestre en la página web.

Sobre como explotarlo pues depende del xss, la mayoría se explotan con ingeniería social ya sea poniendo en un iframe el código malísioso o que se yo

Saludos

esta parte ya algo e aprendido pero lo que me parecio muy extraño es que si yo meto por ejemplo " '> " en el input no hace nada simplemente le pone los slash y ya esta, inclusive si lo pongo en la url hace lo mismo. pero en cambio si pongo en la url http://www.seaofstories.com/list.php?list=yes&search=%22%3E es decir pongo %22 y %3E que supòngo que debe ser equivalente a el '> si se ejecuta la Vulnerabilidad. eso es lo que no comprendo, voy a probarlo yo mismo para imaginarme como es el script pero a mi me dejo un poco desconcertado.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

Shell Root

%22%3E equivale a ">.

Inicialmente el search es así,
Código (html4strict) [Seleccionar]
<input name="search"
   size="14"
   value="-title search-"
   onclick="clickclear(this,'-title search-')"
   onblur="clickrecall(this,'-title search-')"
   type="text">


Pero si miras el retorno cuando le ingresas una comilla doble más de un > (">), verás lo siguiente,
Código (html4strict) [Seleccionar]
<input name="search"
   size="14"
   value="\"
   type="text">" onclick="clickclear(this,'-title search-')" onblur="clickrecall(this,'-title search-')" /&gt;


Aquí es donde lograste bypassearlo. Podes ingresar esto para mostrar un mensaje de alerta.
Código (PoC) [Seleccionar]
"><script>alert(/XSS/)</script>
ya que el search quedará así,
Código (html4strict) [Seleccionar]
<input name="search"
   size="14"
   value="\"
   type="text"><script>alert(/XSS/)</script>" onclick="clickclear(this,'-title search-')" onblur="clickrecall(this,'-title search-')" /&gt;


PD: No entendí, lo que no entiendes. xD
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

bomba1990

Cita de: Shell Root en  7 Octubre 2010, 23:43 PM
%22%3E equivale a ">.

PD: No entendí, lo que no entiendes. xD
jajaja  :xD yo tampoco entiendo mucho que fu elo que tu entendiste.

me explico entro en la pagina "victima". http://www.seaofstories.com/list.php?list=yes&search= y escribo, "><script>alert(/XSS/)</script> y jajajajja funciona, que gafo soy, jajajajajajaja. es que estaba poniendo comilla simple, pero no me habia fijado bien que esta es con doble comilla.  :rolleyes: buenoo.... en la pagina escapan las comillas pero eso en tal caso solo sirve para mysql, no para el html y hay es donde esta el xss. Ahora entiendo un poquito más.

Bueno ahora tratare de entender la inyeccion sql, pero muchaas gracias por el rato que me dedicaron y disculpen lo malo
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve