Dos preguntas.
-
¿Dónde se descarga la versión PHP de CSRF Guard de OWASP? La siguiente URL dice que compruebes Git:
Todo lo que veo en Git son los archivos * .java y los archivos * .js. Si hay archivos PHP, ¿dónde están en la estructura del directorio?
-
phpBB previene CSRF agregando dos parámetros ocultos a todas las formas. El tiempo y un hash SHA1 del tiempo, un "formulario salt" por usuario, el identificador de sesión y el nombre del formulario. Fuente:
Mi pregunta es ... ¿por qué es necesaria otra cosa que no sea la sal de forma? Para evitar el CSRF, todo lo que necesita es una cadena aleatoria que un atacante no puede predecir, por lo que no puede enviar una solicitud HTTP a ciegas y el formulario salt haría el truco que me parece. Hashing que junto con todo lo demás simplemente parece innecesario.
Tal vez su motivación es que la forma de sal podría verse comprometida si alguien copia / pega el contenido HTML de la página. ¿Tal vez está destinado a probarlo en el futuro? Una vulnerabilidad XSS comprometería permanentemente las protecciones CSRF si la sal de formulario se usara directamente mientras que con un hash de tiempo y la sal de forma protege contra ese escenario.
Además, si la sal era solo de dos caracteres o algo así, podría entender hacer el hash sha1 () pero una sal de dos caracteres es simplemente insegura porque todo lo que necesita hacer en ese momento es enviar 256 ** 2 solicitudes HTTP ciegas , cada uno con un token diferente. Pero tampoco es de dos caracteres.