El vídeo empieza en el 1:12 Curso de Laravel y Vue: www.mastermind.ac/courses/desarrollo-full-stack-con-laravel-v-uejs?ref=225b86&coupon=sarosi Mi otro canal: ua-cam.com/video/C9dvkIndTLA/v-deo.html
Llevo trabajando como desarrollador web ya 4 años, y nunca nadie me había explicado TAN BIEN en qué consiste un CSRF. Sigue así viejo, excelente contenido.
@@JuanPerez-lm1ur Hay un video muy bueno que te da una guia de como adquirir nuevo conocimiento: ua-cam.com/video/qRKoWerpwV4/v-deo.html puede ser como autodidacta o con cursos, elije el que mejor se adapte. *no pienses en el tiempo del video, luego de verlo me ahorro mucho tiempo que se puede usar para llegar a cumplir tus metas u objetivos, se debe de optimizar el tiempo al maximo sin reducir su calidad.
no me he enterado de nada porque no entiendo los suficiente pero me quede todo el video porque la musica los colores y lo simple que haces que prezca me llamo la atencion like
Viejo, hemos visto tu evolución en cuanto a tecnologías de programación (los que siempre hemos visto tus videos), es satisfactorio ver que sigas creciendo y motiva , para agarrar tu ritmo. Gracias por el contenido rey
el tiene recursos, hay personas como yo que vivo en Venezuela y estudiar ciencias computacionales es bastante dificil, aparte de que tengo un equipo de muy bajos recursos y un internet corriendo a menos de 1mb
Eres muy bueno, para que vamos a decir otra cosa. No he visto ningun video tan bueno como este que explique algo tan complicado como el ataque CSRF. Gracias.
Hola Antonio, buen vídeo como siempre, pero te dejo un par de apuntes respecto a este tema: En este ejemplo has podido acceder a la cookie de la sesión desde localhost:5000 porque aunque esté en un puerto distinto, el dominio (localhost) es el mismo. El estándar RFC2965 que implementan los navegadores no especifica si se puede acceder a una cookie desde puertos distintos desde el mismo dominio, por lo que cada navegador web implementa un mecanismo propio. En el caso de Chrome por ejemplo, como has podido comprobar, sí puede acceder a la cookie creada en el dominio localhost:3000 desde localhost:5000, pero esto mismo puede no funcionar en otro navegador. Dicho esto, en entornos de producción reales, esto no funcionaría nunca, ni desde Chrome ni desde ningún otro navegador, ya que el atacante no puede suplantar un dominio web. Respecto a la segunda parte del vídeo, simplemente señalar que los atacantes puede fácilmente saltarte la restricción de Access-Control-Allow-Origin, ya que esta es una medida de seguridad que se lleva a cabo en la parte front (en el propio navegador) y no en el servidor, por lo que basta con no hacer esa petición desde un navegador, si no hacerla por ejemplo desde Postman/cUrl/etc, para saltarte ese control de seguridad.
Hola. No estoy de acuerdo. No puedo comprobarlo ahora mismo, pero estoy seguro que el primer ataque funciona sin la necesidad de que las páginas tengan el mismo dominio, lo he hecho como aprendizaje de pentesting. No vas a poder acceder a la cookie cuando los dominios son diferentes, eso es cierto. Pero no necesitás leerla. Podés hacer un fetch o una post request usando un form y el navegador es el encargado de incluir la cookie. De todas maneras los navegadores tiene "the same origin policy" (SOP), la cual limita la forma de las requests que se hacen de diferentes dominios. Por ejemplo, solo podés modificar headers específicos (como content-type), y creo que no podés tocar el header de las cookies. Esto hace que si el session id viaja en un header específico (diferente a Cookie), un atacante no pueda hacer un CSRF attack por la same origin policy.
Por otro lado, creo que se aclara bien que CORS es una protección del navegador. Pero no es que usando otto cliente diferente a un navegador te saltees la protección. Como se explicó, la idea de esto es evitar que un usuario usando un navegador entre a una página de un atacante usando el navegador, y luego que esta página obtenga el CSRF token a partir de una request en segundo plano. Gracias al header Access-Control-Allow-Origin el atacante no puede obtener el CSRF token cuando la víctima entra a su página desde un navegador
Wow que bueno este video, ahora entiendo porque algunas páginas como la F cuando uno va a realizar acciones como cambiar el nombre de usuarios por ejemplo, esta solicita de nuevo la contraseña por mucho que uno ya esté autenticado.
Excelente explicacion Sarosi felicitaciones Tito s4vitar y tu parecen relojeros todo a la perfeccion!!!!!! Se tenso- se viene la charla con S4vitar ajjajja......a la espera de esa lucha de Titanes.
Impresionante video Antonio! Una explicación del ataque CSRF muy clara, concisa y además ejemplificada de lo que es bueno y lo que no y "por qué". Excelente contenido.
Acabo de descurbir tu canal, llevo 1 minuto y medio de video y ya me suscribí, muy buena tu actitud y la edición, es el primer video de ciberseguridad que veo que es entretenido, sigue así 👍
Llevo mucho viendo tus videos y aprendiendo, bueno intentándolo jaja, estoy haciendo un servidor de gta roleplay y me preguntaba si en algún momento te has pensado hacer algo para la comunidad de videojuegos, y en especial para FiveM, eres un grande! Sigue así.
Hola. Por fin he conseguido entender algunos conceptos que se me escapaban. Si algún día haces algún curso sobre programación segura y mejores prácticas, cuenta conmigo!
Herramientas como Postman, CURl, HTTPie, etc, te permiten personalizar el header Origin. Por otro lado, si ya tienes el SID, para qué quieres más, simplemente clonas la sesión localmente. Por cierto, un método más seguro puede ser usar JWT, estos incluso te permiten proporcionar una llave para validar la autenticidad del cliente o un servidor tercero, es una firma E2E.
Así de primeras un full stack con VueJS y Lavarel me resulta muy atractivo habiéndome hecho el clasico de JS y PHP a secas. Yo no le puedo decir que no, aunque no conozco la plataforma y casi ya no tengo tiempo ni para estudiar. Pero voy a necesitar aprender VueJS para mi futuro (Y odio Angular).
Los 7 que han dejado el dislike ni se han molestado a ver el video, enfin si a alguien le escueze lo que haces cuando lo haces bien es porque lo estas haciendo muy bien.
Saludos :) tengo una duda. Por ejemplo si tuviera una api rest en c# como backend y angular como frontend. Y no puedo "renderizar" el formulario desde el servidor como lo haces al incrustar el campo oculto con el hash. ¿Entonces ya no sería necesario implementar la protección csrf? o ¿Cómo podría protegerme en caso de que se use cookies o que otra medida podría usar?
Si mandas el archivo html y los js que genera Angular desde ese mismo servidor, puedes meter ahí el token, eso hace Laravel por ejemplo. laravel.com/docs/8.x/csrf#csrf-x-csrf-token En el apartado siguiente te explican cómo funciona con Angular o axios, tienes que enviar el token dentro de una cookie X-XSRF-TOKEN. Si es una arquitectura de microservicios y la app de Angular no está en el mismo servidor que la se C#, yo usaría JWTs para autenticar en vez de sesiones, pero con sesiones sería más o menos lo mismo, al autenticar mandas la cookie X-XSRF-TOKEN.
El vídeo empieza en el 1:12
Curso de Laravel y Vue: www.mastermind.ac/courses/desarrollo-full-stack-con-laravel-v-uejs?ref=225b86&coupon=sarosi
Mi otro canal: ua-cam.com/video/C9dvkIndTLA/v-deo.html
Que usas para el wifi? usas alguna GUI? usas NetworkManager?
@@PatoToledo23 NetworkManager
Hay alguna manera de que acepten paypal para pagar el curso de Laravel + vueJS?
@@simoleans45 se puede pagar con PayPal
Bro, ¿qué se requiere para el curso?
Trabajo en ciberseguridad desde hace cinco años y he de decis que ESTA GENIAL EXPLICADO ANTONIO, gracias
Llevo trabajando como desarrollador web ya 4 años, y nunca nadie me había explicado TAN BIEN en qué consiste un CSRF. Sigue así viejo, excelente contenido.
@Robert Smith donde puedo conseguir esos cursos?
@@JuanPerez-lm1ur Hay un video muy bueno que te da una guia de como adquirir nuevo conocimiento: ua-cam.com/video/qRKoWerpwV4/v-deo.html puede ser como autodidacta o con cursos, elije el que mejor se adapte.
*no pienses en el tiempo del video, luego de verlo me ahorro mucho tiempo que se puede usar para llegar a cumplir tus metas u objetivos, se debe de optimizar el tiempo al maximo sin reducir su calidad.
@Robert Smith en ningún momento aclaró de que es un purista, qué manera de dirigirte a una persona
@Robert Smith Oye, tranquilo viejo
no me he enterado de nada porque no entiendo los suficiente pero me quede todo el video porque la musica los colores y lo simple que haces que prezca me llamo la atencion like
4tomik, con un 4 y una K porque queda mas hacker jajaja te mamaste bro xD... Ahorita me suscribo :3
Se me hace imposible pagar el curso pero sigo aprendiendo con tus vídeos. 👏
Viejo, hemos visto tu evolución en cuanto a tecnologías de programación (los que siempre hemos visto tus videos), es satisfactorio ver que sigas creciendo y motiva , para agarrar tu ritmo. Gracias por el contenido rey
el tiene recursos, hay personas como yo que vivo en Venezuela y estudiar ciencias computacionales es bastante dificil, aparte de que tengo un equipo de muy bajos recursos y un internet corriendo a menos de 1mb
@@samuelpaez4316 a bueno pa saber
Muy bien explicado! de lo mejor que he visto
soy un hombre simple, veo un video de sarosi y doy like fin de la historia
Soy un hombre simple, veo un buen comentario como este y le doy like
Buenísimo al explicar este capo, este toque de seriedad te queda perfecto jajaja
por fin entiendo a la perfeccion el tema del CORS
ya me estaba preocupando de que no subías videos, sigue así :D
Oye we no entendi ni vergas jeje pero me caes mejor que otro youtuber con sus videos de software complejo saludos desde mexico.
Es muy bien explicado, se nota que vienes del desarrollo, sigue así Antonio, un saludo.
Eres muy bueno, para que vamos a decir otra cosa. No he visto ningun video tan bueno como este que explique algo tan complicado como el ataque CSRF. Gracias.
Wow, enserio me gustan tus vídeos, no solo son muy informativos y educativos, si no también muy entretenidos :') sigue así 🙌
Hola Antonio, buen vídeo como siempre, pero te dejo un par de apuntes respecto a este tema:
En este ejemplo has podido acceder a la cookie de la sesión desde localhost:5000 porque aunque esté en un puerto distinto, el dominio (localhost) es el mismo.
El estándar RFC2965 que implementan los navegadores no especifica si se puede acceder a una cookie desde puertos distintos desde el mismo dominio, por lo que cada navegador web implementa un mecanismo propio. En el caso de Chrome por ejemplo, como has podido comprobar, sí puede acceder a la cookie creada en el dominio localhost:3000 desde localhost:5000, pero esto mismo puede no funcionar en otro navegador.
Dicho esto, en entornos de producción reales, esto no funcionaría nunca, ni desde Chrome ni desde ningún otro navegador, ya que el atacante no puede suplantar un dominio web.
Respecto a la segunda parte del vídeo, simplemente señalar que los atacantes puede fácilmente saltarte la restricción de Access-Control-Allow-Origin, ya que esta es una medida de seguridad que se lleva a cabo en la parte front (en el propio navegador) y no en el servidor, por lo que basta con no hacer esa petición desde un navegador, si no hacerla por ejemplo desde Postman/cUrl/etc, para saltarte ese control de seguridad.
Hola. No estoy de acuerdo. No puedo comprobarlo ahora mismo, pero estoy seguro que el primer ataque funciona sin la necesidad de que las páginas tengan el mismo dominio, lo he hecho como aprendizaje de pentesting. No vas a poder acceder a la cookie cuando los dominios son diferentes, eso es cierto. Pero no necesitás leerla. Podés hacer un fetch o una post request usando un form y el navegador es el encargado de incluir la cookie. De todas maneras los navegadores tiene "the same origin policy" (SOP), la cual limita la forma de las requests que se hacen de diferentes dominios. Por ejemplo, solo podés modificar headers específicos (como content-type), y creo que no podés tocar el header de las cookies. Esto hace que si el session id viaja en un header específico (diferente a Cookie), un atacante no pueda hacer un CSRF attack por la same origin policy.
Por otro lado, creo que se aclara bien que CORS es una protección del navegador. Pero no es que usando otto cliente diferente a un navegador te saltees la protección. Como se explicó, la idea de esto es evitar que un usuario usando un navegador entre a una página de un atacante usando el navegador, y luego que esta página obtenga el CSRF token a partir de una request en segundo plano. Gracias al header Access-Control-Allow-Origin el atacante no puede obtener el CSRF token cuando la víctima entra a su página desde un navegador
De los mejores videos de seguridad de la información que he visto.
dale antonio sube mas videos!!!, no nos desampares
Jejeje ya seguía al canal de atomic desde hace rato, muy buen contenido.
Tienes mi comentario por el algoritmo, porque te lo mereces. Gracias por compartir ;)
Wow que bueno este video, ahora entiendo porque algunas páginas como la F cuando uno va a realizar acciones como cambiar el nombre de usuarios por ejemplo, esta solicita de nuevo la contraseña por mucho que uno ya esté autenticado.
Una explicación muy clara de un ataque CSRF. Genial.
Estas explicaciones son para gente PRO
No habia visto esta parte del desarrollo web jajaj. Me gusta
Excelente explicacion Sarosi felicitaciones Tito s4vitar y tu parecen relojeros todo a la perfeccion!!!!!! Se tenso- se viene la charla con S4vitar ajjajja......a la espera de esa lucha de Titanes.
Has un curso de informática😔
Eres de los mejores canales que he visto en youtube
puff men tu explicacion de cors me cayo como anillo al dedo!
👌
Que bien me cae este tipo
Vengo por recomendación de Nate Gentile. Ya me suscribo.
Impresionante video Antonio! Una explicación del ataque CSRF muy clara, concisa y además ejemplificada de lo que es bueno y lo que no y "por qué". Excelente contenido.
Wooow, necesitaba este video para mí website, te luciste bro, GRACIAS.
Con razón para lo aplica. Gracias ahora tengo más claro el tema de los cors y la protección crsf
¡Por fin nuevo video! 👍
Cuando no Ud, impresionante explicación 👍
Al final te quedaste con el Arch linux. Buen video
Gracias por el video, bastante claro.
Excelente vídeo y explicación
Visto en 14/03/2021
Es el primer video tuyo que veo y me encanto, te ganaste un subscritor!
Acabo de descurbir tu canal, llevo 1 minuto y medio de video y ya me suscribí, muy buena tu actitud y la edición, es el primer video de ciberseguridad que veo que es entretenido, sigue así 👍
Ha vuelto el patrón, grande mi estimado, tus vídeos me han enseñado mucho, saludos.
Llevo mucho viendo tus videos y aprendiendo, bueno intentándolo jaja, estoy haciendo un servidor de gta roleplay y me preguntaba si en algún momento te has pensado hacer algo para la comunidad de videojuegos, y en especial para FiveM, eres un grande! Sigue así.
Buen aporte ... Muy curioso el ataque .
Bien explicado .
Entre con mis dudas, pero bien explicado, buenos ejemplos y temas.
Definitivamente soy tu fan
Toma tu like buen hombre...... ahora ME HE CONVERTIDO EN HACKERMANS...SI...!
pd:suscrito
super tus videos hermano, he aprendido mucho con tus videos bendiciones.
Sarosi vuelve a la carga
Maravilloso video!
Excelente explicación, muchas gracias.
Me he suscrito porque explicas muy bien. Entendí incluso el significado del middleware. Muchas gracias. Veré tus cursos.
ojalas sigan subiendo cursos a Mastermind porque esta buenisimo ): he aprendido mucho ahí
Buena info. Gracias por compartir!
Super buena tu explicación gracias ! Siempre habia visto que en Laravel viene por defecto pero no sabia realmente el porque :)
Saludos Antonio, éxitos en tu nuevo canal:)
Genialidad de vdeo....muchas gracias por compartir tu conocimiento!!un saludo desde Argentina Antonio!
Lo de los tokens se podría hacer más seguro utilizando blockchain pero ese ya es otro tema jajaj, muy buen video Antonio!
Hola. Por fin he conseguido entender algunos conceptos que se me escapaban. Si algún día haces algún curso sobre programación segura y mejores prácticas, cuenta conmigo!
muy bueno antonio, tienes mi like y mi suscripción también. saludos desde argentina
Nada mal un repaso y aprender, me encantó 👏
Esto es el mercado amigo 🤑
Hombre que le reviento a likes, ya lo creo. Este es el modo que más me gusta para aprender.
Amigo esto esta idisimo, segui adelante q tenes alto futuro pa
Eres un grande Antonio! Un video más aportando valor de calidad!
Herramientas como Postman, CURl, HTTPie, etc, te permiten personalizar el header Origin. Por otro lado, si ya tienes el SID, para qué quieres más, simplemente clonas la sesión localmente. Por cierto, un método más seguro puede ser usar JWT, estos incluso te permiten proporcionar una llave para validar la autenticidad del cliente o un servidor tercero, es una firma E2E.
Nunca tienes el valor del SID. Tienes que hacer que sea el usuario quién lo manda.
Espero el video de 3er año de informática! Saludos crack!
Excelente video Antonio! Voy para el otro canal.
Muy bien explicado tio!!!
Sos un fenomeno. Saludos desde Argentina
Se te echaba de menos, eres un grande!
Así de primeras un full stack con VueJS y Lavarel me resulta muy atractivo habiéndome hecho el clasico de JS y PHP a secas. Yo no le puedo decir que no, aunque no conozco la plataforma y casi ya no tengo tiempo ni para estudiar. Pero voy a necesitar aprender VueJS para mi futuro (Y odio Angular).
Me pareció genial el video, y como explicas muy claro todo! Ojala se vengan mas de seg!
Un buen video, ahora entiendo un poco mas de los CORS
Los 7 que han dejado el dislike ni se han molestado a ver el video, enfin si a alguien le escueze lo que haces cuando lo haces bien es porque lo estas haciendo muy bien.
Tengo muchos haters jaja
@@AntonioSarosi porke :c
Eres un crack , explicas muy bien saludos desde colombia
te la rebuscaste bien! bro sigue asi
Sos un dios hermano,
Me ha gustado mucho este vídeo.
De hecho actualmente, existen algunas medio maneras de saltarse esto. Existe una URL a la que le podrías hacer Fetch, pero primero necesitas la sesión
ahora entiendo lo de laravel wooooooooooooow :D gracias por el video
Excelente explicación!
Sigue con tu buen contenido!
Te doy un like porque no te puedo dar mil! Excelente explicación!
Pero se comparte la cookie en ambas requests porque las dos páginas están en localhost, aunque el puerto sea otro es como si fuera el mismo dominio.
Fua sos un crack tenes un cerebro increible para hacer todo esto, me suscribo al otro canal inssta
Felicidades por los 100k ídolo
Felicidades por los 100k!
POR FIN VIDEOO :D
Gracias!! por este video.
jiiji antonio yo por este video meentero que eres elcreador de 4Tomic jijjjji,,esos videos fueron maravillosos,cuando mas de eso
siempre leo antonio sasori
Deberías de hacer un video, hablando de como haces para aprender nuevas cosas y cual es tu método de estudio.
Está excelentemente explicado!
Necesito ayuda con mi instalacion de arch, porque entre sesion como rootfs?
Buen vídeo, me gustarían más videos de ataques a web aparte de sql inyection y este
muy buena explicacion
Gran explicación! Muy bueno!
Muy Crack Antonio, saludos y los mejores deseos.
Saludos :) tengo una duda. Por ejemplo si tuviera una api rest en c# como backend y angular como frontend. Y no puedo "renderizar" el formulario desde el servidor como lo haces al incrustar el campo oculto con el hash. ¿Entonces ya no sería necesario implementar la protección csrf? o ¿Cómo podría protegerme en caso de que se use cookies o que otra medida podría usar?
Si mandas el archivo html y los js que genera Angular desde ese mismo servidor, puedes meter ahí el token, eso hace Laravel por ejemplo.
laravel.com/docs/8.x/csrf#csrf-x-csrf-token
En el apartado siguiente te explican cómo funciona con Angular o axios, tienes que enviar el token dentro de una cookie X-XSRF-TOKEN.
Si es una arquitectura de microservicios y la app de Angular no está en el mismo servidor que la se C#, yo usaría JWTs para autenticar en vez de sesiones, pero con sesiones sería más o menos lo mismo, al autenticar mandas la cookie X-XSRF-TOKEN.
Curiosamente, hace poco tuve que aplicar cambios para evitar ataques CSRF y la solución fue la misma jaja. Buen video!
En laravel creo que existe un @CRSF (token generado) para evitar este tipo de ataques, eso creo, corregidme si estoy mal.
@@RivicoYT Si y en Symfony igual bro
Felicidades por los 100K