OWASP Vicnum Project
Vicnum es una colección de aplicaciones Web intencionalmente vulnerables.
OWASP brinda este conjunto de aplicaciones Web que pretenden ser flexibles, realistas y quizá un poco divertidas con el fin de afilar las skills en seguridad y estimular el interés de estudiantes, gerentes, usuarios, desarrolladores y auditores.
Las aplicaciones de Vicnum son usadas frecuentemente en ejercicios de CTF en conferencias de seguridad y suelen ejercitar problemas de seguridad comunes como el cross-scripting, las inyecciones sql y los problemas en el manejo de las sesiones.
La idea es probar escáneres, técnicas de ataque, herramientas de análisis de código, firewalls y examinar la evidencia dejada por los ataques.
Descargas
De sourceforge pueden descargarse VMs vulnerables con algunas aplicaciones de Vicnum pero, dado que las aplicaciones son actualizadas individualmente, es mejor idea descargarlos por separado de sourceforge o github.
Mordecai Kraushar y Nicole Becher
Licencia
Aplicaciones Online (para impacientes)
El proyecto es sponsoreado por CipherTechs y en su sitio se encuentran algunas de las aplicaciones. Una de ellas es Guessnum, les comento brevemente de que se trata para que vean si les interesa:
La app Guessnum genera un número de 3 digitos únicos que tenés que tratar de adivinar. Después de tu intento, probablemente fallido, la app te dirá cuántos de tus digitos están en la posición correcta. La idea es seguir mandando soluciones hasta que adivines el número o hackees la app de alguna forma. Veamos de que se trata:
ERROR in INSERT INTO guessnumresults(name,guess,count) VALUES("",,) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1.
Bien, seguro que la cuestión va por el lado de inyección sql, pero ¿qué pasa si llamás a guessnum4.pl o a guessnum2.php?¿Qué más hay en el server?¿Cómo podés verlo?¿Tenpes que usar ese campo de 3 digitos para ingresar la inyección?¿Tenés que ir construyendo la consulta de a 3 caracteres o tenés que encontrar la manera de ingresar una cantidad arbitraria de caracteres allí?
guessnum2.pl invoca el script de PHP pasándole los parámetros de name, guess y count. ¿Acaso podés pasarle esos parámetros por $_POST?
curl -d "guess=666" -X POST http://vicnum.ciphertechs.com/guessnum4.php
O, viendo el source de guessnum2.pl ¿podés enviar caracteres que no sean números?¿Qué son todos esos input hidden?.
Lo que quizá puedas controlar es el nombre con el que te registrás a la aplicación, deberías ver si puedo hacer inyección desde allí.
OWASP brinda este conjunto de aplicaciones Web que pretenden ser flexibles, realistas y quizá un poco divertidas con el fin de afilar las skills en seguridad y estimular el interés de estudiantes, gerentes, usuarios, desarrolladores y auditores.
Las aplicaciones de Vicnum son usadas frecuentemente en ejercicios de CTF en conferencias de seguridad y suelen ejercitar problemas de seguridad comunes como el cross-scripting, las inyecciones sql y los problemas en el manejo de las sesiones.
La idea es probar escáneres, técnicas de ataque, herramientas de análisis de código, firewalls y examinar la evidencia dejada por los ataques.
Descargas
De sourceforge pueden descargarse VMs vulnerables con algunas aplicaciones de Vicnum pero, dado que las aplicaciones son actualizadas individualmente, es mejor idea descargarlos por separado de sourceforge o github.
- http://vicnum.sourceforge.net/
- https://github.com/fridaygoldsmith/bwa_cyclone_transfers
- http://xxe.sourceforge.net/
Mordecai Kraushar y Nicole Becher
Licencia
Aplicaciones Online (para impacientes)
El proyecto es sponsoreado por CipherTechs y en su sitio se encuentran algunas de las aplicaciones. Una de ellas es Guessnum, les comento brevemente de que se trata para que vean si les interesa:
La app Guessnum genera un número de 3 digitos únicos que tenés que tratar de adivinar. Después de tu intento, probablemente fallido, la app te dirá cuántos de tus digitos están en la posición correcta. La idea es seguir mandando soluciones hasta que adivines el número o hackees la app de alguna forma. Veamos de que se trata:
- El sitio no tiene más JavaScript que la validación del campo de entrada.
- La lógica de la app está en el lado del servidor, en scripts de perl llamados guessnum1.pl y guessnum2.pl.
ERROR in INSERT INTO guessnumresults(name,guess,count) VALUES("",,) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1.
Bien, seguro que la cuestión va por el lado de inyección sql, pero ¿qué pasa si llamás a guessnum4.pl o a guessnum2.php?¿Qué más hay en el server?¿Cómo podés verlo?¿Tenpes que usar ese campo de 3 digitos para ingresar la inyección?¿Tenés que ir construyendo la consulta de a 3 caracteres o tenés que encontrar la manera de ingresar una cantidad arbitraria de caracteres allí?
guessnum2.pl invoca el script de PHP pasándole los parámetros de name, guess y count. ¿Acaso podés pasarle esos parámetros por $_POST?
curl -d "guess=666" -X POST http://vicnum.ciphertechs.com/guessnum4.php
O, viendo el source de guessnum2.pl ¿podés enviar caracteres que no sean números?¿Qué son todos esos input hidden?.
Lo que quizá puedas controlar es el nombre con el que te registrás a la aplicación, deberías ver si puedo hacer inyección desde allí.
Comentarios
Publicar un comentario