Inyección SQL: El Hackeo Más Sencillo y Peligroso que Existe
Summary
TLDREl vídeo explica la vulnerabilidad de inyección SQL, una técnica utilizada en hacking que puede obtener información de bases de datos. Muestra cómo ataques simples y poco sofisticados, como el de Sony Pictures, pueden tener consecuencias devastadoras. Se detalla cómo funciona SQL, las bases de datos relacionales y cómo una inyección SQL puede permitir a un atacante obtener datos o incluso borrar la base de datos. Además, se ofrece una solución sencilla para prevenir estas inyecciones mediante la parametrización de consultas.
Takeaways
- 😱 Sony Pictures fue víctima de un ataque que expuso información confidencial de más de un millón de usuarios, demostrando la importancia de la seguridad cibernética.
- 💻 Los ataques cibernéticos a Sony Pictures, Herland Paying Systems, Talk Talk y British Airways utilizaron técnicas sencillas de inyección SQL.
- 🔐 Inyección SQL es una técnica usada para manipular consultas a una base de datos, permitiendo a los atacantes obtener acceso no autorizado.
- 📚 Las bases de datos SQL son extremadamente influyentes y se utilizan ampliamente debido a su capacidad para modelar la realidad de manera sencilla.
- 🧠 Es fundamental comprender cómo funciona una base de datos SQL y cómo se relacionan las tablas, filas y columnas.
- 🔑 Las consultas SQL como SELECT, INSERT, UPDATE y DELETE son herramientas poderosas para manipular y recuperar datos.
- 🚫 La falta de prácticas seguras de programación puede dejar las bases de datos vulnerables a ataques de inyección SQL.
- 🔒 Para prevenir la inyección SQL, se deben utilizar parámetros en las consultas SQL en lugar de concatenar directamente la entrada del usuario.
- 🎓 Este vídeo tiene un enfoque educativo para mostrar la facilidad con la que se pueden realizar ataques de inyección SQL y cómo evitarlos.
- 🔎 La inyección SQL puede tener consecuencias graves, como el robo de información confidencial o la eliminación de bases de datos enteras.
Q & A
¿Qué sucedió una mañana en las oficinas de Sony Pictures?
-Una mañana en las oficinas de Sony Pictures, la información confidencial de más de un millón de usuarios fue expuesta, incluyendo nombres, direcciones de correo electrónico y contraseñas en texto claro.
¿Cómo se pensó inicialmente que fue el ataque a Sony Pictures?
-Inicialmente, se pensó que el ataque a Sony Pictures fue ejecutado por un grupo de hackers extremadamente hábiles utilizando técnicas avanzadas.
¿Cuál fue la realidad del ataque a Sony Pictures?
-La realidad del ataque a Sony Pictures fue mucho más simple y alarmante, ya que se utilizaron solo unas pocas líneas de código para obtener datos de millones de personas.
¿Qué es la inyección SQL y cómo afecta a las bases de datos?
-La inyección SQL es una técnica usada para atacar bases de datos relacionales, permitiendo a los atacantes ejecutar consultas maliciosas y obtener acceso no autorizado a información sensible.
¿Cuáles son las diferencias entre bases de datos SQL y NoSQL?
-Las bases de datos SQL, también conocidas como relacionales, utilizan el lenguaje SQL y organizan la información en tablas con filas y columnas. Las bases de datos NoSQL, por otro lado, no siguen el modelo relacional y pueden tener estructuras de datos más flexibles y diversas.
¿Cómo se crea una tabla en una base de datos SQL para almacenar usuarios?
-Para crear una tabla en una base de datos SQL para almacenar usuarios, se utiliza la instrucción 'CREATE TABLE' seguido de la definición de las columnas, como ID, nombre de usuario y contraseña.
¿Qué es un ataque de inyección SQL y cómo se puede prevenir?
-Un ataque de inyección SQL es cuando un atacante introduce código SQL malicioso en un formulario de login o en otro punto de entrada de datos para manipular las consultas de la base de datos. Se puede prevenir usando parámetros en las consultas, lo que evita que el código del atacante se ejecute directamente.
¿Cómo se puede usar la inyección SQL para obtener acceso a una base de datos sin la contraseña correcta?
-Mediante la inyección SQL, un atacante podría introducir una consulta que modifique la condición de verificación de la contraseña, como 'OR 1=1', lo que siempre se evalúa como verdadero y permite el acceso al sistema.
¿Qué es un comentario en SQL y cómo se relaciona con la inyección SQL?
-Un comentario en SQL es una parte del código que el intérprete de SQL ignora, generalmente usada para dejar anotaciones en el código. En el contexto de la inyección SQL, los comentarios se pueden usar para desactivar parte del código SQL que sigue, permitiendo así a los atacantes ejecutar comandos maliciosos.
¿Cómo se pueden usar las uniones en consultas SQL para obtener información sensible?
-Las uniones en consultas SQL se pueden usar para combinar resultados de múltiples consultas en una sola. En el contexto de la inyección SQL, esto puede ser explotado para obtener información sensible de la base de datos al inyectar una consulta que devuelva datos no solicitados.
¿Cómo se puede proteger una aplicación web contra ataques de inyección SQL?
-Para proteger una aplicación web contra ataques de inyección SQL, se deben usar parámetros en las consultas, validar y sanitizar los datos de entrada, usar sistemas de tipos fuertes y evitar la ejecución directa de consultas generadas por el usuario.
Outlines
😱 Ataques de Inyección SQL
El primer párrafo aborda la preocupante realidad de los ataques de inyección SQL, un tema relevante en la seguridad informática. Se menciona el incidente de Sony Pictures, donde la información confidencial de más de un millón de usuarios fue expuesta. Se destaca que estos ataques no siempre requieren técnicas sofisticadas y que la realidad puede ser más simple y alarmante. Se introduce el concepto de inyección SQL y se enfatiza que el vídeo tiene fines educativos y que no se debe intentar en un entorno real. Se explica que las bases de datos SQL son ampliamente utilizadas y se presentan sus ventajas, como la facilidad de modelar la realidad y manipular información.
💻 Demostración de Inyección SQL
El segundo párrafo presenta una demostración práctica de cómo funciona la inyección SQL. Se describe un formulario de inicio de sesión y cómo se ejecuta una consulta SQL para verificar las credenciales del usuario. Se explica que si no se siguen prácticas adecuadas, es posible manipular la consulta para obtener acceso no autorizado o incluso borrar información de la base de datos. Se muestra un ejemplo donde se inserta una consulta maliciosa que permite bypassear la autenticación y se resalta la importancia de entender estos riesgos para prevenirlos.
🔍 Explorando la Inyección SQL
Este tercer párrafo profundiza en las capacidades de la inyección SQL, mostrando cómo se puede manipular una consulta para obtener información confidencial, como contraseñas de otros usuarios, o para realizar operaciones no deseadas como borrar la base de datos. Se detalla un ejemplo en el que se cierra prematuramente la consulta original y se anexa una nueva consulta que se ejecuta en la base de datos, demostrando la potencia y peligro de esta técnica. Se enfatiza la importancia de manejar correctamente las consultas para evitar vulnerabilidades.
🛠 Solución de la Inyección SQL
El cuarto y último párrafo trata sobre cómo prevenir la inyección SQL. Se presenta una solución simple y efectiva que consiste en usar parámetros en lugar de insertar directamente la entrada del usuario en la consulta. Se explica que esta práctica evita que se ejecuten consultas no deseadas y se sugiere que los programadores deberían conocer y aplicar esta técnica. Se cierra el vídeo con un llamado a la acción para que los espectadores compartan sus opiniones sobre el contenido práctico y se despide al público.
Mindmap
Keywords
💡Sony Pictures
💡Inyección SQL
💡Base de datos SQL
💡Lenguaje SQL
💡Contraseñas en texto claro
💡Comentarios SQL
💡Parámetros
💡Validación de entradas
💡Brilliant
💡Cifrado de contraseñas
Highlights
Un ataque a Sony Pictures expuso información confidencial de más de un millón de usuarios.
El ataque a Sony Pictures fue ejecutado con solo unas pocas líneas de código.
Se confundió la simplicidad del ataque por sofisticación, lo que es alarmante.
Otras empresas como Herland, Talk Talk y British Airways sufrieron ataques similares.
Se explica que la inyección SQL es una técnica sencilla pero peligrosa.
El vídeo es educativo y se desaconseja intentar inyecciones SQL en entornos reales.
Se diferencian dos tipos de bases de datos: SQL y NoSQL.
Las bases de datos SQL son muy influyentes y se modelan de manera similar a la realidad.
Se describe cómo se organiza la información en bases de datos SQL.
Se explica el uso de SQL para manipular y recuperar datos de manera simple.
Se menciona que mal utilizado, SQL puede ser peligroso.
Se crea un ejemplo con Python para mostrar la facilidad de la inyección SQL.
Se explica cómo una inyección SQL puede permitir el acceso a información sin la contraseña correcta.
Se muestra cómo una simple cadena de texto puede alterar la ejecución de una consulta SQL.
Se demuestra la capacidad de borrar toda una base de datos a través de una inyección SQL.
Se explica cómo obtener la contraseña de un usuario a través de una inyección SQL.
Se presenta una solución simple para evitar inyecciones SQL: el uso de parámetros en consultas.
Se invita a los espectadores a dejar comentarios sobre si les gustan este tipo de vídeos prácticos.
Transcripts
era una mañana como cualquier otra en
las oficinas de Sony pictures una de las
mayores productoras de cine y televisión
del mundo los empleados estaban ocupados
con sus tareas diarias cuando de repente
se desató el caos la información
confidencial de más de un millón de
usuarios había sido expuesta nombres
direcciones de correo electrónico y
contraseñas en texto claro de primeras
todo el mundo pensaba que debía tratarse
de un ataque altamente sofisticado
ejecutado por un grupo de hackers
extremadamente hábiles utilizando
técnicas avanzadas Pero la realidad era
mucho más simple y en cierto modo mucho
más alarmante para el ataque a Sony
pictures apenas se utilizaron unas pocas
líneas de código para obtener los datos
de millones de personas y como el caso
de Sony pictures tenemos otros muy
similares a empresas como herland paying
systems en 2008 Talk Talk en 2015 o
British airways en 2018 todos estos
ataques por muy desastrosos que fueran
utilizaron una técnica muy sencilla y de
la que vamos a hablar en el vídeo de hoy
la inyección sql de la que probablemente
muchos hayáis oído hablar pero que
también probablemente no sepáis
exactamente en qué consiste veremos lo
potente que es esto ya que puedes
obtener todo lo que quieras de una base
de datos simplemente escribiendo en un
formulario de login cabe aclarar Que
obviamente Este vídeo es únicamente con
fines educativos y que bajo ningún
concepto debes intentar esto en un
entorno real ya que te puedes meter en
problemas muy serios lo que sí que
haremos es una prueba en un entorno que
he creado con python para mostraros lo
fácil que es hacer esto si no se toman
las medidas correctas para entender esto
primero tenemos que ver Qué es y cómo
funciona exactamente una base de datos a
día de hoy podemos diferenciar entre dos
bases de datos las sql y las no sql como
entenderéis la influencia de sql en el
mundo de las bases de datos es bastante
grande de hecho hasta hace poco no
existía otra cosa como en este vídeo
vamos a hablar de inyecciones sql
obviamente nos vamos a centrar en las
bases de datos sql las bases de datos
sql también conocidas como bases de
datos relacionales utilizan el lenguaje
sql structured query Language o lenguaje
de resulta estructurado y organizan la
información en Tablas con filas y
columnas que se relacionan entre sí Por
qué sql es tan influyente básicamente
Porque modela la realidad de una forma
muy simple y muy parecida a como se
haría en la vida real Aunque más
adelante veremos que mal utilizado puede
dar auténtico miedo lo que puedes hacer
con esto en sql tenemos tablas con filas
y columnas muy similar a lo que
podríamos tener en un Excel por ejemplo
imagina que necesitamos crear una tabla
para ver los usuarios registrados en
nuestra aplicación en un Excel sería
algo así siendo que tenemos tres
columnas con un ID un nombre de usuario
y una contraseña y cada fila pues es un
usuario en sql esto es muy similar aquí
tenemos una tabla llamada usuarios que
almacena al usuario y la contraseña de
cada persona además de un ID que
identifica a cada uno la ventaja de sql
respecto a un Excel es lo sencillo que
es manipular estas tablas y leer la
información si manejas bien la sintaxis
del lenguaje que además no es demasiado
complicada para definir y modificar la
estructura de las bases de datos tenemos
create alter y Drop para manipular los
datos tenemos insert update y delete
para realizar consultas y recuperar
datos tenemos Select y para filtrar
datos tenemos algunas como we Group Buy
habin orderby entre otras por ejemplo
para hacer lo que hemos hecho en Excel
antes lo haríamos de la siguiente manera
primero crearíamos una tabla usuarios
tal y como lo he hecho aquí con create
luego insertaría los datos con insert y
con Select podríamos ver esos datos este
Select mostraría todos los registros de
la tabla que en este caso sería solo uno
si quisiéramos Buscar un usuario en
específico podríamos usar la cláusula we
como veis es un lenguaje bastante fácil
de entender y sobre todo a primera vista
inofensivo en qué momento puede esto
volverse peligroso Bueno pues ahora
vamos a ir directamente al ejemplo que
he creado con python para ver cuál es el
gran problema que tiene esto si no se
usan las prácticas adecuadas Por cierto
si te gusta aprender de la forma en que
hacemos en estos vídeos más entretenida
y sin excesiva teoría probablemente te
interese el patrocinador del vídeo de
hoy si eres una persona que como yo le
gusta estar constantemente aprendiendo
brilliant es para ti brilliant es una
plataforma de aprendizaje interactivo
donde realmente puedes sumergirte en
temas complejos de manera divertida y
accesible una de las cosas que más me
gusta de brilliant es que no se trata
solo de memorizar información Se trata
de entender y aplicar lo que aprendes y
es la principal baza de brilliant sobre
otras plataformas de aprendizaje en
brilliant hay muchos cursos de bastantes
temáticas distintas pero como es obvio
nos vamos a centrar en los cursos de
informática briliant es una plataforma
que es útil da igual en el nivel en el
que te encuentres algunos cursos son
bastante básicos si por ejemplo quieres
aprender a programar puedes empezar
construyendo programas en python con un
editor integrado que facilita el
aprendizaje de conceptos simples como
son bucles y variables si ya sabes
programar Quizás te pueden interesar
cursos de estructuras de datos Y
algoritmos para aprender o reforzar
conocimientos y si aún quieres ir más
allá Yo he estado haciendo los cursos de
Inteligencia artificial y redes
neuronales Y la verdad es que me han
encantado ya que te permiten entender
Cómo funcionan los modelos de lenguaje
como chat gpt de una manera muy práctica
y entre retenida y como estos pues
tenemos muchos más por lo que aunque no
estés seguro de si esto te interesa o no
puedes probar todo lo que brilliant
tiene para ofrecer de forma gratuita
durante 30 días para eso debéis acceder
desde este enlace brilliant.org bar
migma o también la tenéis abajo en la
descripción además si decides
suscribirte tendrás un 20% de descuento
en la suscripción anual Así que yo que
tú no perdías tu oportunidad de aprender
de manera efectiva y divertida con
brilliant y ahora sí sigamos con el
vídeo Vale pues vamos con ello como veis
aquí tenemos el código que hace lo que
vamos a a probar ahora ahora os enseñaré
exactamente lo que es es un formulario
básicamente pero primero vamos a ver la
base de datos como veis aquí tengo una
query sql que nos muestra simplemente lo
que hay en la base de datos que si la
ejecuto podéis ver queé es lo que os he
enseñado Antes tenemos un usuario con un
ID que es uno que esto se pone
automáticamente luego el nombre del
usuario la contraseña la contraseña si
fuese una aplicación normal y y que
fuese medianamente decente estaría
cifrada pero aquí para que el ejemplo
sea más claro y se entienda mejor pues
no lo he cifrado además Sería más
trabajo pues simplemente este código os
lo dejaré en la descripción por si le
queréis echar un ojo pero vamos es es un
formulario bastante simple esto sería el
código en python y esto sería el html de
login bastante simple también y vamos a
ejecutarlo vale como veis aquí lo
tenemos es un login normal y corriente y
si nos fijamos en la consola Nos vamos
aquí ejecutamos la query tenemos que el
usuario es misma y la contraseña es test
vamos a comprobar y contraseña test
damos a login y nos pone que el el
inicio de sesión se han completado se ha
completado correctamente nos pone aquí
bienvenido normalmente nos pone el
nombre del usuario que ya veréis que con
esto ahora podemos hacer cosas y que nos
hemos logrado correctamente Además yo
aquí a modo de Test os quiero enseñar
Cuál es la query que se está ejecutando
realmente por detrás eh si nos vamos al
código esta sería la query Y si os dais
cuenta la query no es siempre la misma
bueno en este caso Sí porque esto está
mal A ver espérate vale esta sería la
query si os dais cuenta la query no es
siempre la misma lo que estamos haciendo
aquí es lo que os comentaba antes
seleccionamos un usuario de la tabla
usuarios qué usuario Bueno pues el
usuario que sea igual al usuario que
estamos insertando pero su contraseña
también tiene que ser igual a la
contraseña que estamos insertando va
fila por fila si coincide una cosa y la
otra no pues no nos deja es bastante
sencillo pero esto tiene un problema los
que entend dais un poco de programación
ya os habréis dado cuenta que en general
código tiene unos pocos problemas pero
hay uno bastante evidente Así que vamos
a probar con una cosa vamos a irnos para
atrás y en este caso vamos a probar la
siguiente contraseña ponemos aquí una
comilla ponemos aquí un or 1 = 1 guion
guion vale luego os explicaré por qué
estoy haciendo esto pero vamos a probar
a ver qué pasa vaya nos deja entrar si
os dais cuenta aquí nos pone la query
que hemos utilizado y efectivamente para
que veáis que es esto lo que se está
ejecutando bueno nos he enseñado lo que
pasa si yo pongo cualquier otra cosa que
nos pone que el usuario y la contraseña
es incorrecta O sea que no es que nos
esté dejando entrar con cualquier cosa
que pongamos vamos a probar otra vez
esto aquí vale Qué es lo que está
pasando aquí si os habéis fijado antes
lo primero que he puesto a la hora de
poner la contraseña es una comilla una
comilla que es justamente lo que estoy
poniendo aquí básicamente la contraseña
es esto de aquí por qué bueno la
contraseña la está cogiendo como si no
estuviese poniendo nada y luego está
haciendo una comprobación eh que
básicamente Es que la contraseña sea
nada lo cual es incorrecto o que uno sea
igual a uno lo cual es correcto Y luego
por qué pongo esto aquí Bueno estos dos
iones de aquí son en sql son comentarios
Entonces si os dais cuenta aquí en el
editor todo lo que pongo a partir de los
comentarios no hace nada entonces así me
evito que me coja esta comilla y me dé
error si yo eh No no comentas esta parte
me estaría cogiendo una comilla aquí y
por temas de sintaxis me estaría
diciendo Oye aquí pasa algo raro
entonces en inyecciones sql este el tema
de los comentarios es super importante y
claro si os dais cuenta yo puedo poner
comentos aquí y todo lo que se ponga a
partir de aquí no hace nada Entonces qué
pasa si yo como nombre de usuario cierro
comillas y luego comento todo lo que
viene aquí pues en ese caso me estaría
comprobando si existe un usuario llamado
mma y ya está No creo que se entiende
vamos a probar desde la consola sería
simplemente como si yo aquí pongo we
usuario to la misma veis me devuelve lo
mismo programa La verdad es que es
bastante simple y lo único que hace es
comprobar si existe un usuario Bueno más
que si existe un usuario lo lo único que
hace es comprobar si la query devuelve
algo si yo aquí pongo we usuario igual a
cualquier cosa Random pues no devuelve
nada entonces el programa no se sigue
ejecutando bueno o nos dice que que que
que ha fallado Entonces vamos a probar
otra cosa más fijaos si yo aquí pongo we
usuario migma cierro las comillas otra
vez y comento lo que viene detrás aquí
ya puedo poner podría poner esto pero
aquí puedo poner cualquier cosa como
veis nos deja entrar que lo que está
pasando aquí pues que estamos cerrando
las comillas antes de tiempo otra vez
esto es muy importante y luego estamos
comentando todo lo demás o sea todo esto
lo ignora todo lo que viene a partir de
aquí lo ignora esto es bastante potente
pero es que puede ir aún mucho más allá
podemos llegar incluso a borrar todo lo
que hay en la base de datos vamos a ver
cómo vamos a borrar esto qué es lo que
pasa si yo aquí lo que hago es cerrar
las comillas O sea a partir de aquí aquí
me está pidiendo que inserte un nombre
de usuario aquí puedo poner Yo cualquier
cosa pero qué pasa Yo si cierro las
comillas pongo un punto y coma que es lo
que sql interpreta como para que se
ejecuta otra query distinta y la query
que ejecuto es un delete qué es lo que
pasaría Bueno vamos a probarlo aquí
pongo una comilla pongo dos puntos Y a
partir de aquí ya puedo ejecutar otra
query distinta Como por ejemplo un
delete from usuarios pongo un punto y
coma para que se ejecute esto y comento
todo lo que viene por detrás qué es lo
que pasará aquí Bueno lo que va a pasar
es que nos va a decir que la contraseña
es incorrecta porque no existe ningún
usuar que se llame así pero qué pasará
más allá de eso vamos a ver
efectivamente nos pone que el usuario el
nombre de usuario y la contraseña son
incorrectos pero vamos a ver la base de
datos otra vez a ver qué es lo que ha
pasado como veis no hay usuarios hemos
borrado todo lo que había en la base de
datos simplemente insertando una query
en la base de datos simplemente o sea
simplemente poniendo un una query la en
en un formulario hemos borrado todo lo
que había en la base de datos en este
caso era solo un usuario pero Si
hubiesen sido 100 1000 100,000 los
hubiésemos borrado absolutamente todos
esto ya de por sí es tremendo Y la
verdad es que más peligroso que esto
pocas cosas hay pero vamos a intentar
hacer una query un poquito más compleja
para hacer una cosa que también es
bastante interesante que es en lugar de
que simplemente nos deje entrar que
también nos diga Cuál es la contraseña
del usuario que que a la que hemos
accedido o sea sin nosotros tener la
necesidad de poner directamente la
contraseña que nos la diga cómo hacemos
esto Bueno voy a poner la query y os la
voy a intentar explicar un poquito por
encima vale la query es todo esto que
veis aquí pero no es tan complicada como
puede parecer vamos a explicar qué es lo
que estamos haciendo aquí vale primero
de todo el nombre de usuario ponemos el
nombre de usuario y cerramos la comillas
las comillas porque en este caso vamos a
poner otra query más detrás en este caso
no necesitamos poner el punto y coma
para ejecutarlo sino que vamos a hacer
una Unión en este caso nos va a devolver
dos filas primero nos va a devolver la
fila con el nombre de usuario que es lo
que nos devolvería de normal pero luego
nos va a devolver otra columna donde en
lugar del nombre de usuario nos va a
poner la contraseña vamos V a ver esto
poco a poco vale lo que tenemos que
hacer es escribir en en usuario en este
caso que es aquí donde vamos a escribir
las queries que nos van a dar acceso a
lo que queremos en este caso la la
contraseña del usuario es lo que
queremos obtener Entonces vamos a ver
esta query paso por paso la vamos a ver
aquí en la consola aquí tenemos que
escribir el nombre del usuario del que
queremos obtener su contraseña y vamos a
usar la palabra clave Unión que es algo
que no hemos usado antes Para qué sirve
esto Bueno pues para eh anidar otra
línea y así podemos hacer aquí otro
Select en el que vamos a seleccionar la
contraseña del usuario llamado migma
Entonces esto es lo que vamos a pegar en
usuario lo que pasa es que aquí
tendríamos que Añadir un comentario para
eliminar todo lo que viene después de
esto vamos a ejecutarlo aquí para ver
qué es lo que nos da primero de todo
como veis nos da dos líneas qué es lo
que hace nuestro código la primera
en este caso eh al crear un usuario yo
le he puesto la de contraseña test todo
en mayúscula si os dais cuenta antes lo
he puesto en minúscula por qué lo he
puesto ahora en mayúscula porque el
hecho de que salga en mayúscula eh se
ordena automáticamente y las mayúsculas
tienen prioridad sobre so las minúsculas
entonces este Sale primero si esto fuese
minúscula saldría primero migma y lo que
tendríamos que hacer en esta query se
podría hacer es un orderby un order Buy
eh Por el nombre de usuario y luego
descendente Pero bueno eso no es
necesario en este caso y directamente
nos imprime test vamos a verlo vamos a
copiar esto lo vamos a pegar aquí y de
contraseña ponemos cualquier cosa
hacemos login y como veis nos dice
bienvenido test pero test no es el
nombre de usuario es la contraseña del
usuario para que veáis lo potente que es
esto y la de cosas que podemos obtener y
como esto podemos hacer muchísimas cosas
más esto es un tutorial bastante básico
vale Y la pregunta del millón Cómo
arreglamos esto Bueno pues bastante
fácil de hecho el propio lenguaje nos lo
deja eh En vez de pegar directamente o
como una variable lo que inserta
el usuario aquí podemos poner una
interrogación y aquí lo mismo ponemos
una interrogación y luego a la hora de
ejecutar la query como parámetros ya nos
lo está poniendo Aquí copilot estos son
los parámetros los parámetros de la
función a ejecutar haciéndolo de esta
forma el propio programa evita que que
hagas este tipo de cosas vamos vamos a
probarlo aquí ponemos migma ponemos Test
en mayúscula y nos deja entrar y como
veis lo que nos pone en la query no en
la query misma ya no nos sale que hemos
introducido migma y hemos introducido
test nos salen interrogaciones da igual
lo que pongamos entonces podemos probar
lo que hemos probado antes poner aquí
migma y comentarios y aquí poner
cualquier cosa y en este caso ya nos
deja hacer lo que hacíamos antes es una
solución muy simple eh esto obviamente
es en todos los lenguajes de
programación y es un fallo muy grande
hacerlo en tu código Bueno más bien no
hacer esto en tu código es un fallo muy
muy grande porque ya veis todo lo que se
puede hacer y pues nada más este ha sido
el vídeo de hoy un poco distinto a lo
que solemos hacer me apetecía hacer un
vídeo un poco más práctico un poco más
de programación y enseñándoos unas cosas
que si bien Esto es bastante simple es
algo que cualquier programador que haya
tocado un poco de sql sabe que esto se
puede hacer y que hay que evitarlo a
toda Costa pero me apetecía enseñároslo
decidme por los comentarios si os gustan
este tipo de vídeos Así un poco más
prácticos y nos vemos en el siguiente
adiós
5.0 / 5 (0 votes)