¿Cómo asegurar mi llamada ajax al backend?

3

En mi sitio web, estoy usando una llamada ajax para obtener información del backend. Incluso si estoy usando SSL, alguien puede interceptar la llamada y reemplazar la respuesta real por una falsa. ¿Hay alguna manera de asegurarse de que nadie haya cambiado el contenido de la respuesta?

    
pregunta Ignazio Calò 03.10.2014 - 13:11
fuente

1 respuesta

2

Creo que estás tratando de resolver el problema incorrecto. El principal problema con las solicitudes de Ajax no es la integridad de los datos, sino XSS (secuencias de comandos entre sitios), CSRF (falsificación de solicitudes entre sitios) y la omisión de autenticación.

Si está utilizando correctamente SSL (no acepta certificados autofirmados, certificados no válidos, etc.), puede estar seguro de que nadie puede interceptar y modificar los datos. Nadie puede, excepto el gobierno.

Debe asegurarse de que las solicitudes de Ajax obedecen el marco de autenticación que tiene instalado. Por lo tanto, intente acceder a él directamente sin la interfaz, guarde las sesiones e intente reproducirlas, y catalogue todas las respuestas. Debe asegurarse de que la entrada no válida o inesperada no muestre datos no deseados al atacante.

Debe asegurarse de que todos los datos proporcionados por el usuario estén correctamente desinfectados antes de ser procesados o devueltos. Si no se limpian los datos, se pueden producir XSS, inyecciones de SQL, inclusión de archivos locales y remotos y muchos otros problemas.

Y debe asegurarse de que cada solicitud esté protegida contra solicitudes entre sitios, mediante la implementación de etiquetas anti-CSRF. Ignorarlo puede exponer a sus usuarios a algunos problemas, como la toma de control de la cuenta, solicitudes fraudulentas y demás.

La infraestructura SSL es muy buena, pero todas las capas superiores son mucho más problemáticas. Las personas que escriben software SSL son profesionales consolidados, pero puedes encontrar muchos y muchos desarrolladores inexpertos que escriben código PHP, SQL y Javascript en esos días.

    
respondido por el ThoriumBR 03.10.2014 - 16:27
fuente

Lea otras preguntas en las etiquetas