send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cross-Site Scripting [XSS] - 01

  • 2 Respuestas
  • 1364 Vistas

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

Desconectado MagoAstral

  • *
  • Underc0der
  • Mensajes: 115
  • Actividad:
    0%
  • Reputación 0
  • Nada resulta más engañoso que un hecho evidente.
    • Ver Perfil
« en: Agosto 04, 2013, 11:11:23 am »
Buenas usuarios de underc0de, hoy vengo con la primera parte de una secuencia de tutoriales en los cuales explicaré distintas formas de explotación de los XSS y fixeo de la misma, para empezar explicaremos el concepto xss, yo lo catalogaría como una vulnerabilidad web que permite inyectar código a terceros, este código sería JavaScript o algún lenguaje de scripting similar tipo VBScript, vale si somos un poco maquiaviavélicos podemos causar extragos dentro de la aplicación web que nos permitió inyectar ese código, pero esas formas las iré explicando poco a poco, hoy comenzaremos por distinguir los dós tipos de XSS que podemos encontrar comunmente.

Tipos:

XSS Reflejado : El código inyectado se ejecutaría de forma indirecta es decir vía URL o vía buscado tendríamos que hacer uso de la ingeniería social para llevar a cabo la ejecución del código sobre la víctima, un ejemplo sería un buscador.

XSS Persistente : El código inyectado se ejecuta de forma directa, es decir que persiste en la aplicación web, un claro ejemplo sería un libro de visitas donde nosotros dejamos nuestro comentario y todo el mundo puede verlo.

Hoy vamos a explicar el XSS Reflected o reflejado, vamos a hacer uso un pequeño código que vamos a desarrollar en PHP+ HTML (un código sin filtros, muy sencillo).

Comenzamos con la aplicación desarrollando una idea creo que será un sistema que tu pones tu nombre y te saluda, así que empezamos con el HTML.
Código: You are not allowed to view links. Register or Login
<html>
<head>
<title>
Saludador
</title>
</head>
<body>
<form method="POST" action="saludar.php">
<center>
<p>
Mi nombre es:
</p>
<input type="text" name="nombre" id="nick" value="">
<input type="submit" value="Enviar">
</center>
</form>
</body>
</html>
Lo cual quedaría más o menos así :

Vale, ahora pasamos a recibir la variable nombre vía post y mostrarla en pantalla, muy fácil y simple.
Código: You are not allowed to view links. Register or Login
<?php

$varnom 
$_POST['nombre'];

echo 
"Hola: $varnom";

?>

Esto quedaría probandolo así:

Bien, ahora al ser personas malvadas probamos a inyectar un tag HTML tipo h1, y vemos que el tag se ejecuta en bruto por lo tanto pensamos que no tiene ningun filtrado.
Aquí una captura del resultado :

Perfecto, ahora ya podríamos ejecutar algo un poco más interesante pensemos en un script, por convenio se suele mostrar la alerta.
Vector : <script>alert('MagoAstral')</script>
Y ¡Voula!

Bien, como vemos podríamos ejecutar cualquier código desde un full replace hasta inyectar un iframe apuntando a nuestro buen Beef XSS...
Pero los tutoriales de explotación y sesssion hijacking los dejaré par más adelante cuando explique los Persistent XSS.
Ahora pasaremos a filtrar los scripts para evitar que nos inyecten estos scripts, usaremos htmlentities, esta será nuestra primer baza hay distintas formas de filtrarlo pero hoy veremos esta.
Código: You are not allowed to view links. Register or Login
<?php

$varnom 
$_POST['nombre'];

echo 
"Tu nombre es: ".htmlentities($varnom);

?>

Y ahora probamos a inyectar el vector de la alerta...

Ups...
Pues aquí termina la parte 1 de esta serie de tutoriales, mañana explicaré los persistentes y después pasaremos a robar sesiones y contraseñas atraves de un XSS, y si les gustó el tutorial comentenmelo que aunque parezca poco comentar sube la moral.
Un saludo,
MagoAstral.
« Última modificación: Noviembre 23, 2014, 02:19:56 pm por Expermicid »
Lo que sabemos es una gota de agua; lo que ignoramos es el océano.

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1883
  • Actividad:
    6.67%
  • Reputación 14
    • Ver Perfil
« Respuesta #1 en: Agosto 04, 2013, 12:13:50 pm »
Muy buen tutorial!!

Esperando el segundo :D

Un saludo.



Desconectado Assed [In]Seguridad Informática

  • *
  • Underc0der
  • Mensajes: 42
  • Actividad:
    0%
  • Reputación 0
  • ASSED Lab's
    • Ver Perfil
    • Email
  • Skype: @Pep.Juan
« Respuesta #2 en: Agosto 05, 2013, 01:02:15 pm »
Muy Bueno encima veo que es tu yo Nicee  :)
Passion informatic.

 

¿Te gustó el post? COMPARTILO!



Deface un site utilizando shell c99 por keymort

Iniciado por ..::key-m0rt::..

Respuestas: 4
Vistas: 3613
Último mensaje Marzo 30, 2011, 08:56:50 pm
por Devilboy
SQLi Site Scanner (SQPY)

Iniciado por hdbreaker

Respuestas: 3
Vistas: 3704
Último mensaje Octubre 06, 2014, 01:08:40 am
por Baku
Ataques CSRF (Cross site request forgery)

Iniciado por M5f3r0

Respuestas: 11
Vistas: 5267
Último mensaje Septiembre 09, 2013, 03:48:08 pm
por M5f3r0
Cross Site Request Forgery /Matabarras/

Iniciado por Matabarras

Respuestas: 1
Vistas: 1398
Último mensaje Abril 28, 2013, 10:21:43 am
por Pr0ph3t
Cross Site Tracing (XST)

Iniciado por Stuxnet

Respuestas: 0
Vistas: 1449
Último mensaje Abril 02, 2013, 09:11:40 pm
por Stuxnet