Hola amigos, bienvenidos a esta clase donde vamos a estar aprendiendo sobre inyección SQL, es laque
como les mencionaba en la clase anterior, por varios años se ha sostenido en el tapujo y realmente
hay que se puede aprender mucho de lo que la inyección SQL y es increíble como perdura en el tiempo
y es un factor importante a tener en cuenta al momento de evaluar vulnerabilidades.
Cuando estábamos analizando una web objetivo para empezar a hablar del tema, hay que entender que el
ataque por inyecciones de código SQL se produce cuando se filtra de forma adecuada la información enviada
por el usuario.
Al que me refiero con esto es cuando justamente podamos enviar información o a través de el input del
buscador o a través del browser que con browser me refiero a donde escribimos la currele de la página
web, donde justamente un usuario malintencionado podría incluir o ejecutar el tex texto que representen
nuevas sentencias.
Ese core que el servidor no debería de aceptar justamente cuando hablamos de no debería aceptar, es
que justamente falta esa protección, falta esa medida de seguridad, de seguridad informática por parte
de la aplicación.
Hoy en día mucha, mucha, muchos frameworks.
Por ejemplo Laravel en su propia arquitectura, ya trae la protección contra inyección SQL, por ejemplo.
Hoy en día.
A pesar de esta preventiva.
Lamentablemente.
Al parecer.
Por lo menos en base a lo Wapshott sigue siendo el top 1.
Depende a cuando ustedes vean este video.
La actualización de lo.
Obviamente no porque este tipo de clases perdure en el tiempo.
Pero bueno, volviendo al tema, este tipo de ataque es independiente del sistema de base de datos.
Es importante tener en cuenta este factor ya que depende únicamente de una inadecuada validación de
los datos de entrada.
Justamente por eso les decía o a través de Guet o a través de post, a través de la Hurry L o a través
del envío de datos por un input que cuando yo digo input, me estoy refiriendo justamente a ese campo
en donde nosotros escribimos.
Por ejemplo, cuando están buscando un término en Google.
Sin ir más lejos.
Por ejemplo.
Y las sentencias SQL.
Como mencioné con anterioridad.
Este no es un curso base de datos.
Aún así no voy a ver la obligación que para que entiendan un poco la parte práctica.
Sobre todo les voy a tener que enseñar un poco de sentencias de base datos.
Porque justamente, y como recién decía, la vulnerabilidad se basa en que la página web no evita el
hecho de que nosotros podamos enviar consultas SQL a través de método GET o post con métodos GET o post.
Yo me refiero a escribirlo en narré l o cuando lo enviamos a través de un formulario.
Por ejemplo, vamos a pasar 7 diapositivas y el punto siguiente que hay que tener en cuenta es las consecuencias
que existen del hecho de la disección se cuele, que es la esencia del por qué estamos aplicando inyecciones
SQL.
Obviamente, como vimos en alguna pantalla, el acceso a información como usuarios contraseñas.
Qué es esto?
Lo vamos a ver en la práctica también podemos realizar consultas a tablas de otras aplicaciones a alojadas
en el mismo servidor y qué punto!
Es muy interesante y tiene mucho que ver con la seguridad informática en la nube.
Muchas veces uno es preconsciente de físicamente en el hardware porque nosotros tenemos una ubicación
en la nube e es una computadora de otra persona la que estamos alquilando y en esa computadora pueden
tener muchas páginas web y quizá nosotros por efecto colateral, a raíz de explotar la vulnerabilidad
de otras página web, pueden llegar a nosotros porque físicamente no nos encontramos en la misma máquina.
Y acá fíjense que de la inyección se pueden.
Nosotros podemos hacer consultas a aplicaciones alojada en el mismo servidor.
Es muy común o buena mala práctica que se comparta el mismo motor de base de datos o la misma base datos.
Mejor dicho, también la tercera consecuencia la ejecución de comandos al sistema operativo del servidor
web.
Así nosotros podemos llegara al punto de tomar control de la propia máquina como consecuencia justamente
de estos ataques y dependiendo el de los privilegios del usuario de base datos bajo el cual se ejecutan
las consultas.
Este otro factor importante a tener en cuenta se podría acceder no solo a las tareas relacionadas.
Como le decía recién con la operación de la aplicación del servidor web.
Sino también a las tablas.
De otras bases, datos, como les decía, recién alojara al nuevo servidor y como último él se limitó
a resumiéndolo en una sola oración.
Por eso lo estoy repitiendo.
También pueden proporcionar la ejecución de comandos arbitrarias del sistema operativo del equipo del
servidor.
Vamos a pasar al siguiente diapositiva.
Perdón, se me fue una.
Ahora bien, cómo se puede realizar esto?
Cómo funciona?
Bueno, se puede realizar a través de puntos de ingreso a la aplicación.
Por ejemplo, un inicio de sesión.
Sin ir más lejos, también podemos analizar el código que se encuentra en el servidor.
Como también le mencionaba, recién le explicaba Metodo Post Hoggett el hecho de enviar a través de
un formulario o a través del browser, o sea donde escribimos la página web o también a través de los
campos valida de HTML y acalle algo muy gracioso que yo a veces hago por diversión.
Pero es increíble el error desde el front end cuando no nos quieren deshabilitar desde el HTML a través
de la propiedad y CB que no nos permiten escribir y que me ha pasado por ejemplo en formularios en donde
yo ingrese el DNI quedó registrado y después cuando tengo que hacer una operación me muestra el DNI,
pero si yo lo quiero corregir no puedo porque están diseminó.
Bueno, botón derecho inspeccionar y le cambio la propiedad de.
Y yo ya puedo escribir el cuadro mando me lo cambio encima.
Eso es un grave error de programación.
También tenemos los campos válidos cuando hablamos para Stripe, que peor todavía, estas son las variables.
En base de tipo de datos, no?
Bueno, ahora obviamente nosotros tenemos inyecciones SQL en base al tipo de motor de base de datos.
En este caso vamos a hablar de Maisí, cual esto es un punto importante cuando justamente nosotros aprendemos,
por ejemplo, a saber qué tipo de motor de gaseado tenemos del otro lado y esa es la importancia de
saberlo.
Bueno, por ejemplo con Ichu Outfit se realiza el volcado de archivos incestos.
Son comandos de que vamos a ver más adelante también la sentencia multiple son poco factibles ya que
en muy pocos módulos lo permiten.
Si nosotros sabemos esto, sabemos que entonces en motores de Maisí cual no vamos a perder tiempo en
AntÃn más ejecutar sentencias múltiples también.
Bueno, se ejecuta con permisos a root por defecto, lo cual es bastante grave en Oracle, osea el tipo
de base automotor Oracle es posible la ejecución unidades de consultas con SELLECK y unión que la vamos
a ver.
En la práctica se pueden usar procedimientos invocad ables en la inyección y también la inyección de
sentencias múltiples.
No se puede realizar a diferencia de la anterior.
Bueno, pues en tipo de base datos post rest es posible de ejecución anidada de consultas select unión
se puede usar procedimiento se invoca e invoca cables en la inyección.
La ejecución de sentencias multiples si se pueden realizar.
A diferencia del anterior y el uso de Coppi es posible conocer el usuario.
Aguantábamos hablando de un post gomets y cuando hablamos de un servidor de Microsoft un servidor se
cuele.
Es importante que sepan que es posible el ejecucion ánea de consultas select y union y.
Se puede usar procedimientos, invocarle en inyección y en la ejecución de sentencias múltiples.
Si se puede hacer, si no, mal recuerdo si efectivamente está la última diapositiva.
Se que pudo haber sido bastante teoría, pero es importante.
Me gusta que la tengan grabada en vídeo para que lo puedan reproducir las veces que lo necesiten.
Esta información no lo van a tener acceso de por vida, así que espero que les haya gustado la clase.
Les dejo un abrazo digital.