Cross-Site Request Forgery (CSRF)
#OWASP10 #CSRF
Last updated
#OWASP10 #CSRF
Last updated
El Cross-Site Request Forgery (CSRF) es una vulnerabilidad de seguridad en la que un atacante enga帽a a un usuario leg铆timo para que realice una acci贸n no deseada en un sitio web sin su conocimiento o consentimiento. El ataque se lleva a cabo mediante enlaces maliciosos o p谩ginas web enga帽osas que contienen solicitudes HTTP que ejecutan acciones no deseadas en el sitio web objetivo.
Un ejemplo de ataque CSRF ser铆a cuando un usuario, despu茅s de iniciar sesi贸n en su cuenta bancaria en l铆nea, visita una p谩gina web maliciosa que contiene un formulario para transferir fondos. Si el usuario hace clic en el bot贸n de env铆o sin darse cuenta de que est谩 realizando una transferencia, el ataque CSRF se considera exitoso.
Este tipo de ataque puede ser utilizado para realizar diversas acciones no deseadas, como la transferencia de fondos, la modificaci贸n de informaci贸n de la cuenta o la eliminaci贸n de datos.
Para prevenir los ataques CSRF, los desarrolladores deben implementar medidas de seguridad adecuadas, como la inclusi贸n de tokens CSRF en formularios y solicitudes HTTP. Estos tokens permiten que la aplicaci贸n web verifique la autenticidad de la solicitud y asegure que proviene de un usuario leg铆timo, protegiendo contra atacantes malintencionados. Sin embargo, se debe tener cuidado ya que tambi茅n existen formas de explotar los tokens CSRF.
Usualmente sucede cuando hay cambios de variables, como ejemplo se usara el siguiente Laboratorio
http://www.seed-server.com y conectate como Alice.
Al tratar de agregar a mas personas, por hovering te das cuenta que cada usuario tiene una id.
Ve a editar perfil, prepara Burpsuite-Intercept y cambia tu nombre de usuario para ver la peticion.
Por ahora se tramita por POST, pero que pasa si se cambia a GET?
Elimina las posibles variables innecesarias, para facilitar su trabajo y no tener que predecir parametros extra帽os.
Al revisar tu perfil, puedes notar que si se cambio la informacion por GET, significa que hay una gran probabilidad de que puedas hacer eso para cada usuario.
Al cambiar la ID a 59 (admin), y ejecutar el comando, no cambias su nombre, cada usuario tiene un token verificador.
Si interceptamos la peticion que se usa para agregar a alguien, esta esta la siguiente
Si remueves los campos marcados, funcionara?
Spoiler: Si, se agrega, los otros parametros son innecesarios, y puedes enviar mensajes para forzar que te agreguen.
Para probar, envia un mensaje a Samy para que agregue al usuario 57 (Bobby)