Para probar todo lo que ofrece Brilliant durante 30 días totalmente gratis, visita brilliant.org/Migma/ . También obtendrás un 20% de descuento en la suscripción anual Premium de Brilliant.
Estaba viendo el video y comentabas que dejarias el codigo en descripcion, pero no lo veo, y pudiera pensar que no lo hiciste 'por seguridad' pero a dia de hoy, quien quiere algo, lo va a encontrar o terminar de copiar por mostrarlo
Video y ejercicios absurdos, solo te dedicas a engañar con este tipo de videos. 😠👎 Con esto ya demuestras que eres de las personas que te gusta engañar 👎👎
@@alex_1772 si entiendes de programacion como php y entiendes y sabes usar sql, al final la injeccion SQL es algo bastante sencillo de entender. Yo desde luego hice grado medio y superior y esto no se da, si que te lo avisan los profesores pero no se enseña como tal. Yo recuerdo que lo busque en su dia y lo entendi bastante rapido y puse aprueba cosas que habia hecho y eran vulnerables a partir de ahi empece a tomar medida para que no fueran vulnerables a injecciones sql. Pongo el ejemplo de php porq ami personalmente me ha pasado con php, no he trabajado con Python como en el video, pero vaya me referia a que esto te puede pasar en cualquier lenguaje que uses y hagas consultas a una BD
Recuerdo que de niño, tipo 2009, me ponia a hacer este tipo de hacks que aprendia en un foro de hacking, solo pude "hackear" webs abandonadas que ya fueron previamente hackeadas xd
Video perfecto. Ya sabía más o menos de que iba la cosa porque estudio ingeniería informática y este tipo de fallos los escuché en una conferencia que vinieron a hacer en la universidad. De todos modos me he quedado de principio a fin en el video por la forma en que comunicas, la edición y la forma en la que combinas dinamismo con enseñar, es decir, has sido super conciso y lo valoro mucho. Buen video crack!
Hace tiempo vi un blog en la que enseñaba a hacer inyección SQL a ciegas (blind SQL injection). Sería interesante tener ejemplos prácticos como en este video. Muy buen trabajo!
Gracias. Por eso, es importante usar SP (Store Procedures) y no querys en texto; además validar en el FE y BE nulos y colocar los parámetros. Y obviamente, encriptar la contraseña [si lo se, hay muchas formas de desencriptar] para que por lo menos no estén tan a la mano. Y OBVIO, cuando consultas algo NUNCA REGRESES EL PASSWORD en el JSON; además de usar Token y que el mismo dure X tiempo según las necesidades, y evitar el uso de "multi" sesiones, es decir, que te permita entrar en la laptop, pc, tablet y celular al mismo tiempo con un mismo usuario... No... No eso no está bien... En fin, cada quien con sus prácticas.
@@francogiova8818 En un sistema de información, es "peligroso" ya que si el usuario está trabajando en su laptop, luego en su celular y deja las sesiones abiertas y por ejemplo alguien toma su celular y tiene la sesión abierta y empieza hacer cambios en algo importante, pues lo está haciendo usando la cuenta de alguien y luego hay problemas y el usuario va decir: "yo, no fuí.... Aunque diga que fuí yo, yo no me acuerdo. Eso lo permite tú sistema, y previste tal problema". Es una buena probabilidad que pase al permitir multi sesiones al mismo tiempo.
Excelente la explicación. La entiende hasta alguien que no sepa programar, que no es mi caso. Conciso, simple y claro. En todo sistema hay muchas puertas para entrar, más cuando el hacker tiene tiempo para buscarlas y el programador no lo tiene para prevenir.
Eres el mejor, que digo, eres el P. Amo Migma. Hacía más de quince años que había leído sobre eso en foros y demás, pero nunca me había enterado tan bien como ahora. Me ha encantado el vídeo.
una vez hace muchos años uno de mis hermanos probó una inyección sql que salía reportada como vulnerabilidad ya corregida no recuerdo si era de wordpress o que. La probó en una página con foros de alguien... y funcionó, y la página estuvo caida un tiempo porque se borraron los usuarios si mal no recuerdo. Por lo visto quien haya estado detrás no tenía respaldos y no tenía el software actualizado. Mi hermano se sintió culpable, dejó esperar un tiempito sí y luego envió mensaje al de la página explicando lo que pasó y pidiendo disculpas... el de la página respondió buena tela y siendo autocrítico diciendo que no había aplicado los parches de seguridad en la página o algo similar.
Muy cool. Yo estoy rehaciendo un proyecto del instituto para aprender nuevas practicas y uno de los errores que tengo es justamente éste. Y no lo sabía hasta hoy XD.
Que extraño, según recuerdo en SLQ se tiene que crear una base de datos aparte a menos que los soretes usaran el públic para sus bases de datos, en ese caso se usa el famoso select, from where
Muy claramente explicado me ha encantado, solamente una cuestión al final no consigo encontrar el python, pero aún así merece la pena la visualización del video
Que bien explicado, excelente video, he notado una cosa, lo del Id del usuario, ¿ese dato no se puede explotar también con la inyección de sql?, personalmente veo el id autobumerico como una debilidad ya que es más fácil probar con números que intentar adivinar un usuario que es un string.
creo que cualquier programador debería tener en cuenta que la validación no se debe hacer directamente en base de datos La primera vez que hice un login lo hice de manera que sólo le pedía a la BD que encriptara lo que el usuario puso en el campo contraseña, y que me devolviera la contraseña del usuario ingresado, guardada en BD (que ya está encriptada), luego procedía a comparar si ambas eran iguales, o el caso de que no existiera dicho usuario. Al tiempo que construía mi sentencia dinámicamente, pasando como argumento el usuario ingresado, en lugar de construir una sentencia directa. Siento que para ser la primera vez que lo hacía, la hice bien
😮😮😮 ¡Definitivamente me gusta este tipo de videos! 🤩👍🎉 Te has ganado mi like y un nuevo suscriptor. Espero vengan más videos para seguridad más adelante
Perfecto. Ya tengo un vídeo que mandarles a los clientes por mail cada vez que nos llaman para quejarse de que no permitamos conexiones externas a las DB en los Hostings xD
En los años antes este ataque era muy comun y efectivo ahora ya no, todo programador y desarrollador deberia tener esto bien claro como protergerse (tan solo con parametrizar las querys hacia un bd bastaria).
Sos un genio, la verdad q en el instituto nunca me enseñaron eso... gracias por el consejo y ya me das a entender q puede haber tantas vulnerabilidades q debo tener en cuenta... una duda... no se si lo explicaste, pero a q te referis con 1=1?
Utiliza el OR 1=1 para que el codigo tenga que elegir entre la contraseña que puso el hacker o que determine que 1 sea igual a 1. Como la contraseña que puso el hacker está vacia porque no hay nada escrito entre las comillas '' '' entonces el programa analiza la otra opción, la del 1=1. Como 1=1 es verdad entonces aprueba el login.
Entiendo que para esto uno debe tener información previa de los nombres de las tablas, obviamente podés adivinar las típicas de User y Password pero imagino que ya no se deben usar esos nombres
Para algunas cosas de las que se hacen en el vídeo si, pero otras no. Además, como digo, este tutorial es básico, con la propia inyección sql puedes obtener nombres de tablas etc.
buena explicacion para que se entienda lo de inyeccion sql, pero no es bueno poner tu query embebido en tu codigó por eso puedes hacer inyeccion sql, la manera correcta es usar un stored procedure donde el usuario y contraseña se pasan y es mucho mas seguro y la inyeccion sql ya no funcionaria, pruebalo y haces otro video, para que los que ven tus videos conozcan mas del tema. saludos
podes poner la query SQL dentro de tu codigo, si usas Statements no deberias tener problema con inyeccion sql. Alguno que me diga si estoy equivocado por favor
Para probar todo lo que ofrece Brilliant durante 30 días totalmente gratis, visita brilliant.org/Migma/ . También obtendrás un 20% de descuento en la suscripción anual Premium de Brilliant.
Ya decía yo que esta voz me sonaba en algún sitio 😂😂, memorias de pez 😂😂
😊
Estaba viendo el video y comentabas que dejarias el codigo en descripcion, pero no lo veo, y pudiera pensar que no lo hiciste 'por seguridad' pero a dia de hoy, quien quiere algo, lo va a encontrar o terminar de copiar por mostrarlo
Video y ejercicios absurdos, solo te dedicas a engañar con este tipo de videos. 😠👎
Con esto ya demuestras que eres de las personas que te gusta engañar 👎👎
podrias pasar el codigo, porque no lo dejaste en la descripcion
4 años estudiando programación y te explicas mejor que muchos profesores que he tenido. Me ha encantado el vídeo.
No estudiaste entonces
@@Jesss7733 y tú por lo que veo no piensas antes de hablar
@@alex_1772 si entiendes de programacion como php y entiendes y sabes usar sql, al final la injeccion SQL es algo bastante sencillo de entender. Yo desde luego hice grado medio y superior y esto no se da, si que te lo avisan los profesores pero no se enseña como tal. Yo recuerdo que lo busque en su dia y lo entendi bastante rapido y puse aprueba cosas que habia hecho y eran vulnerables a partir de ahi empece a tomar medida para que no fueran vulnerables a injecciones sql.
Pongo el ejemplo de php porq ami personalmente me ha pasado con php, no he trabajado con Python como en el video, pero vaya me referia a que esto te puede pasar en cualquier lenguaje que uses y hagas consultas a una BD
@@Jesss7733 por eso en la escuela nos enseñan lo basico de comprension lectora
@@ThE-RaNd0M_xDD es basico lo que digo, estudiar de realmente estar estudiando no estar sentado en un pupitre escuchando a un profesor, inutil
Recuerdo que de niño, tipo 2009, me ponia a hacer este tipo de hacks que aprendia en un foro de hacking, solo pude "hackear" webs abandonadas que ya fueron previamente hackeadas xd
jajajajaja
El hacker más peligroso del universo 616
😂😂😂😂
Nos pasó a muchos🤣🤣🤣🤣🤣🤣
Eso me pasa a mí desde siempre 😢
Video perfecto. Ya sabía más o menos de que iba la cosa porque estudio ingeniería informática y este tipo de fallos los escuché en una conferencia que vinieron a hacer en la universidad. De todos modos me he quedado de principio a fin en el video por la forma en que comunicas, la edición y la forma en la que combinas dinamismo con enseñar, es decir, has sido super conciso y lo valoro mucho. Buen video crack!
Hace tiempo vi un blog en la que enseñaba a hacer inyección SQL a ciegas (blind SQL injection). Sería interesante tener ejemplos prácticos como en este video. Muy buen trabajo!
Que explicación, mis respetos esto si es programar no como otros
Gracias. Por eso, es importante usar SP (Store Procedures) y no querys en texto; además validar en el FE y BE nulos y colocar los parámetros. Y obviamente, encriptar la contraseña [si lo se, hay muchas formas de desencriptar] para que por lo menos no estén tan a la mano. Y OBVIO, cuando consultas algo NUNCA REGRESES EL PASSWORD en el JSON; además de usar Token y que el mismo dure X tiempo según las necesidades, y evitar el uso de "multi" sesiones, es decir, que te permita entrar en la laptop, pc, tablet y celular al mismo tiempo con un mismo usuario... No... No eso no está bien... En fin, cada quien con sus prácticas.
Por qué evitar el uso de multi sesiones? Pregunto desde la ignorancia
@@francogiova8818 En un sistema de información, es "peligroso" ya que si el usuario está trabajando en su laptop, luego en su celular y deja las sesiones abiertas y por ejemplo alguien toma su celular y tiene la sesión abierta y empieza hacer cambios en algo importante, pues lo está haciendo usando la cuenta de alguien y luego hay problemas y el usuario va decir: "yo, no fuí.... Aunque diga que fuí yo, yo no me acuerdo. Eso lo permite tú sistema, y previste tal problema". Es una buena probabilidad que pase al permitir multi sesiones al mismo tiempo.
Cómo limitas el número se sesiones?
@@tigreonice2339 Pon tus reglas.
@@francogiova8818por eso te hackean
Excelente la explicación. La entiende hasta alguien que no sepa programar, que no es mi caso. Conciso, simple y claro. En todo sistema hay muchas puertas para entrar, más cuando el hacker tiene tiempo para buscarlas y el programador no lo tiene para prevenir.
Por fin aprendí como las comillas y los condicionales se insertan y modifican la query, muchas gracias!!
Eres el mejor, que digo, eres el P. Amo Migma. Hacía más de quince años que había leído sobre eso en foros y demás, pero nunca me había enterado tan bien como ahora. Me ha encantado el vídeo.
Excelente video!! Y excelente el formato práctico! Mas así!
Esta genial el video hace mucho había escuchado el concepto pero nunca había visto un ejemplo, ahora entiendo perfecto el tema.
una vez hace muchos años uno de mis hermanos probó una inyección sql que salía reportada como vulnerabilidad ya corregida no recuerdo si era de wordpress o que. La probó en una página con foros de alguien... y funcionó, y la página estuvo caida un tiempo porque se borraron los usuarios si mal no recuerdo. Por lo visto quien haya estado detrás no tenía respaldos y no tenía el software actualizado. Mi hermano se sintió culpable, dejó esperar un tiempito sí y luego envió mensaje al de la página explicando lo que pasó y pidiendo disculpas... el de la página respondió buena tela y siendo autocrítico diciendo que no había aplicado los parches de seguridad en la página o algo similar.
No dudes en hacer mas videos de este estilo!
podrias hacer mas videos de como evitar las inyecciones sql en casos mas avanzados porfavor ? seria muy util como protegerse contra ello
explicas muy bien, manejas muy bien la didáctica!!
Muy cool. Yo estoy rehaciendo un proyecto del instituto para aprender nuevas practicas y uno de los errores que tengo es justamente éste. Y no lo sabía hasta hoy XD.
Excelente video Migma. Puedes seguir haciéndolos así que de seguro serán un éxito. Ahh, y gracias por dar a conocer Brilliant, tiene muy buena pinta.
Buen video, explicado de manera rapida y facil, me encantaria que subas mas videos de este estilo sobre otras vulnerabilidades.
Webs con solo html estático: estoy joya 🤑
La consola del navegador: Hola bb 😘
JAJAJAJA
@@Fede_Aran3Wtf juegas GD
Que interesante, justo tengo que preparar un trabajo de analisis sobre SQLi para mi facultad xd, alto timing xd
Agradece a Google que recopila tus datos para ayudarte.
Que buen video está todo super claro, justo tenia dudas sobre este tema, gracias.
Que extraño, según recuerdo en SLQ se tiene que crear una base de datos aparte a menos que los soretes usaran el públic para sus bases de datos, en ese caso se usa el famoso select, from where
Muchos instalan la base de datos sin modificar las configuraciones y no satinizan las entradas (inputs).
ROXY ERES MUY BONITA E INTELIGENTE. ME ENCANTA TU PLAYLIST DE "TECNO".
Haces un contenido de 10, rey. Enhorabuenísima por tu trabajo!
Muy bien chaval, he visto varios videos tuyos y estan muy bien explicados. Lo haces de forma sencilla, pero explicas como si tuiveras 20 años más.
9:16 jajaja acabo de entender el porqué. Muchas gracias jajajaja algo tan básico y eso nunca nos dijeron en el curso , sino que tengan cuidado bla bla
Uff que buen video muy practico y muy acertado con la info se entiende bastante gracias
Por eso simpre intenta usar frameworks y además un backup diario!
Buenísimo vídeo!! Muy crack ;)
Muchas gracias!!!
Muy claramente explicado me ha encantado, solamente una cuestión al final no consigo encontrar el python, pero aún así merece la pena la visualización del video
Excelente video. Me gustaria que hicieras un video explicando la vulnerabilidad de desbordamiento de buffer.
Que bien explicado, excelente video, he notado una cosa, lo del Id del usuario, ¿ese dato no se puede explotar también con la inyección de sql?, personalmente veo el id autobumerico como una debilidad ya que es más fácil probar con números que intentar adivinar un usuario que es un string.
Yo práctico programación en VBA he escuchado de CSV Injection es parecido imagino
creo que cualquier programador debería tener en cuenta que la validación no se debe hacer directamente en base de datos
La primera vez que hice un login lo hice de manera que sólo le pedía a la BD que encriptara lo que el usuario puso en el campo contraseña, y que me devolviera la contraseña del usuario ingresado, guardada en BD (que ya está encriptada), luego procedía a comparar si ambas eran iguales, o el caso de que no existiera dicho usuario. Al tiempo que construía mi sentencia dinámicamente, pasando como argumento el usuario ingresado, en lugar de construir una sentencia directa.
Siento que para ser la primera vez que lo hacía, la hice bien
Ejemplo sencillo de SQL Injection. gracias!
Excelente explicación del video, saludos
Esto no funciona con backends hechos con ORMs, porque usan Prepared Statements en las queries, para evitar se confundan datos con código
Wow te superaste muchísimo, hace rato yt no me mostraba tus vídeos. Saludos
😮😮😮 ¡Definitivamente me gusta este tipo de videos! 🤩👍🎉 Te has ganado mi like y un nuevo suscriptor. Espero vengan más videos para seguridad más adelante
muy interesante ya usaba el interrogante pero no sabía que con eso solucionaba el problema de inyecciones sql
Excelente explicación
Excelente, que ejemplo más genial 😎
La importancia de usar ORMs y tener un buen algoeitmo de validación de datos:)
@javierxxx7190
¿Que cosa?
Perfecto. Ya tengo un vídeo que mandarles a los clientes por mail cada vez que nos llaman para quejarse de que no permitamos conexiones externas a las DB en los Hostings xD
Muy bueno tus videos. Y sí, estaría bueno también más videos así, para variar. Saludos
Valla, no sabia que eso se podia hacer, de ahora en adelante ya no voy a concatenar en consultas sql en mi codigo, gracias por el video
El bro todo el video 🤨
No entendí absolutamente nada, pero me encantó el video, justo estaba buscando a alguien que usara la consola. Que hayan más videos así
Hola amigo me ha encantado el patrocinador de este video, gracias!
Con amigos como tu quien necesita suerte😅espero algún dia ser como tu o conocer alguien como tu :(
yo uso stored procedure para ejecutar el query de busqueda del usuario y tambien encripto con md5 la clave
En los años antes este ataque era muy comun y efectivo ahora ya no, todo programador y desarrollador deberia tener esto bien claro como protergerse (tan solo con parametrizar las querys hacia un bd bastaria).
Sos un genio, la verdad q en el instituto nunca me enseñaron eso... gracias por el consejo y ya me das a entender q puede haber tantas vulnerabilidades q debo tener en cuenta... una duda... no se si lo explicaste, pero a q te referis con 1=1?
Utiliza el OR 1=1 para que el codigo tenga que elegir entre la contraseña que puso el hacker o que determine que 1 sea igual a 1. Como la contraseña que puso el hacker está vacia porque no hay nada escrito entre las comillas '' '' entonces el programa analiza la otra opción, la del 1=1. Como 1=1 es verdad entonces aprueba el login.
@@KerbalBasado y con eso que puedo hacer?
No es tanto la complejidad de un ataque, sino el tamaño de la vulnerabilidad que lo puede hacer sencillo
yo uso Entity framework en ASP net core y el JWtoken luego en el front uso interceptores de rutas con angular
Entiendo que para esto uno debe tener información previa de los nombres de las tablas, obviamente podés adivinar las típicas de User y Password pero imagino que ya no se deben usar esos nombres
Para algunas cosas de las que se hacen en el vídeo si, pero otras no. Además, como digo, este tutorial es básico, con la propia inyección sql puedes obtener nombres de tablas etc.
Otros consejos es utilizar ORM ya que los ORM vienen con sanitización aplicada y así evitan inyecciones sql
excelente video, bien explicado ufff mejor que mi profesor de programación jajaja
Me encantó, muy bien explicado!
justo ayer tuve una clase de base de datos y el profesor nos explicó el tema de inyección SQL
Y yo que pensaba que mi contraseña '123456' era segura... ¡Gracias por abrirme los ojos! 😂
Hey muy útil el vídeo y bien explicado!!
Muy buen video, pero alguien sabe donde puedo revisar el código para probarlo yo, si no escuche mal comenta que lo subiría para descargar.
Disculpa la pregunta la animacion que hiciste para explicar lo de SQL la hiciste en after effects ?
Muy buen video! Podrias hacer uno sobre los virus de zero click?
Estuvo buena la explicación... Pero por suerte ya había sanitizado las entradas de los campos, lo intente y no me dejo...
buena explicacion para que se entienda lo de inyeccion sql, pero no es bueno poner tu query embebido en tu codigó por eso puedes hacer inyeccion sql, la manera correcta es usar un stored procedure donde el usuario y contraseña se pasan y es mucho mas seguro y la inyeccion sql ya no funcionaria, pruebalo y haces otro video, para que los que ven tus videos conozcan mas del tema. saludos
podes poner la query SQL dentro de tu codigo, si usas Statements no deberias tener problema con inyeccion sql. Alguno que me diga si estoy equivocado por favor
@@aragonenred es correcto, utilizar staments o consultas parametrizadas ayuda a prevenir injetcs
bro estudio ciberseguridad y esto me ha explotado la cabeza
tienes cursos sobre estas cosas, crqck y demas ?
Muy buen video y bien explicado
Yo lo hice hace mucho tiempo atrás en servidores de juegos piratas baratos, me generaba items en mi cuenta, fue hermoso, pero fue copy-paste xD
Mu online.. A que si?😂
@@Vamosdepaseovosyyo Jajaj así es
me gusto mucho la explicacion
Desde que me explicaron eso, para cada login empecé a utilizar procedimientos almacenados en las bases de datos xd
Gracias por el tips, está genial
Que acaso poner marcadores de posicion no es lo que te enseñan en las primeras clases de programacion ( en general ) para evitar este tipo de cosas ?
Que buen video, que editor de código es ese?
como hacemos para saber los nombres te las entidades y atributos q manejan?
Muy muy bien video, felicitaciones!
Hola Migma, podrías hacer un video sobre el Script Tron, si realmente es útil y no es peligroso o como afecta a tu sistema. Muchas gracias
"...es que nadie piensa en las SP..." (meme Simpson)
quitate esa bandera
Gracias por este video
me imagino que esto no sucede al usar procedimientos almacenados
Buen video, está buena la temática
Excelente explicación.
Sigue subiendo videos así 🙏🏻
Aprendi sql con un solo video xd
Que editor de código usa?
O sea, todo el tiempo estuve poniendolo bien porque desde un principio lo vi como "?" y no como "$valor"
La próxima vez escriban su propia base de datos, y almacenen todo en json o html
Buen video, migma 🌟
" La Generación de CRISTAL aún en pañales "
Menos mal ya sabía usar el método de los interrogantes sin saber bien esto 😅
es que en la uni solo te dicen que usar signos representan los campos de la tabla, cuando realmente va mas allá de eso.
La solución mas fuerte. Siempre será usar store procedure
Solo que debes saber el nombre de la tabla para realizar esos querys sobre dicha tabla
migma cada 5 segundos: 🤨
Excelente video 🎉
Hoy en día los lenguajes y los framework ya es difícil de hacer ese tipo de inyecciones
Buen video, pero primero tendrías que conocer el nombre de las tablas y/o campos.
No sabía de esto. Y eso que trabajo con SQL diariamente 😮
Muy Interesante Migma Gracias