Skip to content

Instantly share code, notes, and snippets.

@sebolio
Created June 15, 2015 22:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebolio/dde4dd712be4d776b3db to your computer and use it in GitHub Desktop.
Save sebolio/dde4dd712be4d776b3db to your computer and use it in GitHub Desktop.
Para que no haya página web en SailsJS
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