Created
June 15, 2015 22:41
-
-
Save sebolio/dde4dd712be4d776b3db to your computer and use it in GitHub Desktop.
Para que no haya página web en SailsJS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
El problema: | |
SailsJS es tanto un servidor de APIs como un servidor Web, por lo tanto soporta rutas que son controladores JSON y rutas que son simples archivos HTML, y sólo las primeras se pueden controlar mediante reglas. Esto significa que si un atacante se pone a probar comandos en la API, eventualmente va a recibir códigos 200 o 404, lo que le facilitará pruebas de fuerza bruta. Debería haber una forma de desactivar totalmente el comportamiento de "servidor web" y que solamente retorne respuestas JSON y códigos de error relacionados al uso de la API. | |
Solución rápida: | |
Eliminar el contenido del archivo "layout.js" dentro de "views". | |
Con eso no habrá nunca HTML, pero igual se eviarán códigos 200 y 404 para las rutas que no sean de la API. | |
Solución larga: | |
Crear alguna policy o middleware que envíe siempre el mismo código de error (400?) cuando las rutas no sean de la API. | |
Con eso se podría engañar a un posible atacante dificutándole el abuso de las rutas. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment