¿Necesitamos protección CSRF para el perfil de solicitante pasivo de WS-Federation?

2

Considere los pasos involucrados en el perfil del solicitante pasivo de WS-Federation 1 :

  

Lafiguraanteriormuestraundiagramadesecuenciadeunusuario(solicitante)queaccedeaunaaplicaciónwebconsunavegador.Dadoqueelusuarionoseautenticódebidoaunasesiónreciente,laaplicaciónredirigealusuarioalIDPparauniniciodesesióndeusuario(1).ElIDPrecopilalascredencialesdelusuarioyutilizaunServiciodetokendeseguridad(STS)paravalidarlascredencialesytambiénparaobteneruntokenSAMLdelSTS(2).ElSTSmismoestáconectadoaunalmacéndedatosLDAPparavalidarlascredencialesdelusuarioytambiénpararecuperarinformaciónadicional(reclamos)sobreelusuario,porejemplo.rolesEnlaautenticacióncorrecta(3),elIDPdevuelveeltokenSAMLemitidoporelSTS(4)alusuarioyavisa(formulariodeenvíoautomático)alusuarioqueenvíeestetokenSAMLalaaplicaciónwebsolicitadaoriginalmente.(5).ElIDPseencargadeproporcionarunainterfazdeusuariowebymanejarredireccionamientosdeURL,mientrasqueelSTSesresponsabledegenerareltokenSAMLyvalidarlascredencialesdelosusuarios.LaaplicaciónwebvalidaeltokenSAML(6)y,encasodeéxito,devuelvelapáginawebdeseada(7).

Enelpaso4,podemosdevolverunformularioalusuarioqueseenvíaautomáticamente.¿EsteformulariorequierealgunaprotecciónCSRF?

Estoybuscandoconfirmación,perocreoquelarespuestaes"no" . Incluso si un sitio web malintencionado pudiera hacer que un usuario publique este formulario, también tendría que falsificar con éxito un token de seguridad.

Sources:

  1. enlace
pregunta Frank Tan 13.02.2017 - 18:11
fuente

1 respuesta

1

CSRF requiere que el cliente tenga un token que se envíe de forma pasiva, por ejemplo. una galleta. El ataque, también conocido como "sesión montada", forja una solicitud que se aprovecha de tokens enviados pasivamente: la solicitud falsificada "cabalga" en una sesión legítima que ya está establecida.

En el paso 4, el navegador todavía no tiene el token SAML, por lo que la mitigación de CSRF no es necesaria.

El paso 6 podría requerir una mitigación CSRF, pero solo si tiene algún efecto, por ejemplo. cambiar una contraseña, transferir dinero, etc. Si su único propósito es recuperar una página web para fines de visualización, no se necesita la mitigación de CSRF. (El objetivo de un ataque CSRF es emitir un comando, no espiar).

Es de suponer que puede haber pasos 8, 9, 10, etc. donde el usuario puede realmente tener un efecto en algo. Ese tipo de transacciones requerirían la mitigación de CSRF.

En una nota lateral, el paso 0 requiere una mitigación contra fijación de sesión .

    
respondido por el John Wu 13.02.2017 - 23:22
fuente

Lea otras preguntas en las etiquetas