
session.cookie_httponly = True
defensa basada en hash El token de validación CSRF no se ha implementado en WordPress porque, si se hiciera, dificultaría las funciones de trackbacks y pingbacks de WordPress. El servidor no puede distinguir una solicitud CSRF ilegal de una solicitud PINGBACK/TRACEBACK legítima; WordPress acepta automáticamente un comentario sin el token CSRF correcto como una solicitud PINFBACK y TRACEBACK y filtra ese comentario con un filtro de lista blanca.
Para defender esta vulnerabilidad CSRF, añadimos un nuevo campo en el formulario llamado hashnonce para verificar que el comentario es enviado por el administrador. El administrador firma el valor del campo de comentario con su cookie.
La firma del valor del campo de comentario utiliza md5 para generar el valor hash (ver gráfico).
Cuando el administrador intenta aceptar PINFBACK y TRACEBACK y no se puede proporcionar _wp_unfiltered_html, usamos wp_verify_hashNonce. Si la validación falla, se informará de un error. Incluso si la validación es exitosa, el error lógico se ha corregido y se usará "wp_filter_kses" para filtrar los comentarios.
Código modificado:
el tercer método proviene de https://github.com/sijiahi/Wordpress_cve-2019-9787_defense