Venidos a esta nueva clase en la cual intentaremos explotar XSS.
Cuando la aplicación web ha implementado defensas contra éste y para ello vamos a ir a nuestra aplicación
de WV y la vamos a seleccionar en el nivel medio.
Ya saben que eso lo pueden hacer por esa parte de acá.
Aquí seleccionan el nivel y luego le dan a Submit.
Entonces ahorita para comenzar vamos a intentar explotar la vulnerabilidad de XSS reflejados, pero
antes de intentar hacer la explotación en este campo de ACAC quiero mostrarles esta pagina que ven aquí
y qué es lo que ocurre con esta página que están observando de pelotas o destinys.
Esta página es excelente.
Aquí pueden encontrar muchos recursos para poder realizar explotaciones de diferentes tipos.
Entonces vamos a verla y dentro de esta parte ustedes pueden ver que hay diferentes tipos de ataques.
Hay para CRF que la proxima targeta estaremos estudiando a EFA de inclusión, que otro de las cosas
que amo estudiar en un curso y ataques web.
Por ahora me interesa ir hacia la sección de XSS Injection.
Entonces por acá van a ver de que hay una serie de pelotas que podemos ocupar en contra de la aplicación
web.
Ahora por qué importante conocer acerca de esta página?
Si bien recuerda mi curso de hacking ético de tecer, ocupaban una herramienta llamada metasploit y
nosotros hacíamos ataques con exploits que ya existían, incluso payload que ya existían.
No estábamos diseñando nuestros propios payload, ya que en ocasiones es más fácil utilizar los que
ya están o simplemente podemos tomar un payload, un exploit que ya existe y lo podemos mejorar.
Entonces, el objetivo de esta página?
Aquí hay una serie de pilots para poder atacar aplicaciones web con el intento de explotar PCs.
Obviamente nosotros podemos intentar hacerle mejoras a este ataque, a estos ataques los podemos intentar
personalizar y todo a nuestro gusto.
Entonces, ahora si se fijan, aquí están los pilotos básicos.
Este de acá fue el que intentamos la vez pasada.
Veamos si funciona y como pueden ver, no funcionó y lo curioso es que solamente mostró la parte de
en medio.
Cuando llegó la parte medio es que de alguna manera esto desapareció.
Entonces pareciera que hay una especie de filtro que cuando ve esto lo desaparece y al desaparecerlos
solamente toma lo que continúa.
Entonces estamos viendo que hay un filtrado para proteger esto.
Si continuamos con la lista de payload básicos, podemos ver que aquí este segundo payload podría servir.
Entonces vamos a copiarlo y vamos a ver que pasa.
Enter y funcionó.
Hemos logrado explotar esta vulnerabilidad.
Ahora me gustaría explicarles porque esto funcionó.
Si nosotros vemos el código fuente rápidamente, aunque no sepa mucho de PHP, le explico.
Está ocurriendo lo siguiente cuando mi aplicación encuentra esto, está siendo una especie de reemplazo
de manera casi evita que se ha explotado el código.
Lo malo es que este reemplazo no lo está haciendo de manera recursiva.
Entonces, qué es lo que pasa cuando yo tengo esto en lo que haces al encontrar?
Esto que es script.
Y lo desaparecen, pero al desaparecer una vez.
Queda otra vez como lo pueden ver y de igual modo por acá, cuando él desaparece esto de adentro.
Me queda esto otro que el ataque original con el que había explotado el nivel fácil.
Entonces podemos ver de que aquí se ha implementado un filtro que no ha sido el mejor que se puede implementar.
Por otra parte, me gustaría mostrarles qué pasa si intentamos resolver el nivel alto de esta aplicación.
Vamos a ir hacia acá.
Y veamos qué tan bien, intentando manualmente podemos encontrar un payload que funcione si intentamos
utilizar el mismo.
No funciona.
Aquí hay nuevamente una especie de filtro que impide poder hacer ese ataque anterior.
Y si intentamos revisar rápidamente acá en el código, podemos ver que si en efecto hay un filtro y
hay un filtro que está actuando de manera más estricta a la hora de encontrarse estas letras de la palabra
script.
Entonces intentemos buscar un payload que no ocupe el script.
Tenemos esto de acá.
Estos payload insertan una pequeña imagen mientras abren un cuadro con la alerta.
Como hemos visto en los casos anteriores, entonces intentemos ver qué ocurre con este primero.
A ver si funciona.
Y excelente como pueden ver, este ha funcionado a la perfección.
Ahora bien, qué ocurre?
Seguramente se estarán preguntando eso no es trampa o no está haciendo nada mal.
No solamente estás copiando y pegando.
Bueno, depende.
Obviamente, si yo quiero empezar a auditar una aplicación web, van a ver muchos lugares en los cuales
yo puedo ingresar texto y estar probando.
Cada uno de los lugares a mano puede ser muy costoso o estar probando diferentes payload por mi propia
cuenta.
Entonces, qué es lo que ocurre?
Existen herramientas que permiten automatizar este proceso, herramientas que ya tienen una serie de
pilots guardados dentro de ellas y lo que hacen es luego atacar con todo a cada uno de los campos que
estas herramientas encuentran.
Por ejemplo, Bersuit en su versión de paga tiene la posibilidad de buscar campos que puedan ser inyectables
para XSS y así también como buscar campos que son inyectables para inyecciones se cuelen en el curso.
Es una herramienta que nos permite hacer búsquedas de S y van a ver que cuando estemos viendo el uso
de esa herramienta estoy seguro que les va a gustar el campo en el cual vamos a encontrar una vulnerabilidad
de un campo que tal vez no lo hubiesen pensado testear ustedes.
Entonces, esta es la manera en la que podemos intentar hacer baipás filtros en el próximo video.
Lo que estaremos haciendo en ver cómo un atacante puede robar tu kuki sesión para poder hackear tu cuenta,
así que lo veo en la próxima clase.