Empezaré por decirlo: soy simplemente un entusiasta de la ciberseguridad, no un experto. Por lo tanto, voy a decir lo que creo que sé hasta ahora, no dude en corregirme en cualquier momento.
A través de mis lecturas, he venido a aprender sobre:
- La existencia de CSRF
- Lo básico detrás de esto, para las solicitudes GET y POST
- Token y Referer técnicas de mitigación
- Cómo se puede recuperar el Token si el sitio web de destino tiene una vulnerabilidad XSS
- El hecho de que el remitente se pasa en texto sin cifrar a través de los encabezados HTTP y, por lo tanto, se puede falsificar
- cURL utilizado para cargar la página primero, obtener el token y usar este para enviar los datos de POST y obtener los contenidos de la página posteriores a la autenticación
Por lo tanto, mi pregunta es la siguiente: si alguien usa un script PHP que carga la página que alberga el formulario POST, obtiene el token generado aleatoriamente y envía los datos POST con un encabezado "Referer" personalizado que coincide con el sitio web de destino, es ¿Hay algo que pueda hacer en mi servidor para mitigar esto?