SlideShare a Scribd company logo
1 of 17
SEGURIDAD EN
BASES DE DATOS
INTRODUCCIÓN A LA
SEGURIDAD
 Información almacenada en la base de datos
 debe estar protegida contra accesos no
 autorizados, la destrucción o alteración de datos
 con fines indebidos y contra la introducción
 accidental de inconsistencia.
Términos de bases de datos
VIOLACIONES DE LA SEGURIDAD
E INTEGRIDAD
                              La pérdida de
                             consistencia se
                                  debe:




                                       Anomalías en la   Error lógico que
    Caídas de      Anomalías a la
                                         distribución          viola
  transacciones    base de datos
                                        computadores      transacciones




                                                           Para respeta
                                                         protecciones de
                                                          base de datos



Es más fácil prevenir la pérdida de consistencia de datos que
prevenir el acceso mal intencionado a la base de datos
Formas de acceso indebido

  Lectura de datos sin autorización
  (robo de información).

  Modificación de datos sin
  autorización.

  Destrucción no autorizada de los
  datos
Niveles de seguridad para una base de datos:


                         Físico
  El lugar donde se encuentran los sistemas debe estar
                       protegido

                       Humano
     Debe tener cuidado al conceder autorizaciones

                   Sistema operativo
       Seguridad contra ataques exteriores

              Sistemas de bases de datos
     Garantizar que no se violen las restricciones de
                      autorización
¿Que son las inyecciones de código
SQL?

 Es un método de infiltración de código intruso
 que se vale de una vulnerabilidad informática
 presente en una aplicación en el nivel de
 validación de las entradas para realizar consultas
 a una base de datos.

 Consiste en la modificación de las consultas a
 nuestra base de datos a partir de los parámetros
 pasados por URL al script en PHP.
¿Dónde se origina este
problema?

 Por el incorrecto chequeo o filtrado
 de las variables.
¿Como saber si tu sitio puede ser
hackeado con SQL Injection?
 Simplemente agregale "/*" o una simple tilde, si te tira
  un error, tu sitio es vulnerable.
  Vamos a poner un ejemplo:
  Tu sitio es "http://www.tupagina.com/index.php?id=1"
  Lo comprobamos de la siguiente manera:
  "http://www.tupagina.com/index.php?id=1/*"
  o tambien asi:
  "http://www.tupagina.com/index.php?id=1'"
  como tambien de esta manera:
  "http://www.tupagina.com/index.php?id=1)"
  Si al colocar cualquiera de estas opciones da un
  error, tu sitio es vulnerable, por el contrario si tu sitio
  sigue mostrandose igual, tanto tu SQL como tu
  plantilla php estan correctamente configurados.
¿Como realiza un hacker la
inyección?
 Simplemente verifica que el sitio sea vulnerable
 con las tecnicas que mencioné anteriormente, si
 lo es comienza el proceso de prueba.

 tu sitio es :
 "http://www.tupagina.com/index.php?id=1" asi
 que se comienza con el chequeo de tablas asi "-1
 order by 1" hasta dar con el error "-1 order by 16"
 una vez alli ya sabemos que las tablas son
 menos de 16 mostrando el siguiente error
 "Unknown column '17' in 'order clause".
¿En que consiste?
 Validar el acceso de un usuario registrado utilizando
 SQL:

 $sql = "SELECT * FROM usr WHERE id = '" . $id ;
 $sql .= "' AND pwd = '" . $pwd . "'" ;

  Cuando se tienen valores para el nombre de usuario
 (id) y la contraseña del usuario (pwd) se tendrá una
 consulta normal a la base de datos que nos devolverá
 los datos del usuario si la contraseña es correcta:

 SELECT * FROM usr WHERE id = 'root' AND pwd =
 '4358'
 Si intentamos modificar la consulta poniendo cómo
  contraseña ' OR '' = '

   SELECT * FROM usr WHERE id = 'root' AND pwd = '
  ' OR '' = ' '

 Como '' siempre es igual a '', habremos modificado la
  consulta para que nos devuelva siempre los datos del
  usuario aunque la contraseña sea incorrecta, y el
  visitante malintencionado se podrá conectar como
  cualquier usuario.
 el visitante malintencionado podra conseguir
 contraseñas, borrar, anñadir y modificar datos de
 nuestra base de datos... por eso es importanto
 que nos aseguremos que nuestro sitio es seguro
 en este aspecto.
¿Que debo hacer?
 En el caso de que tu servidor haya dado
 resultado positivo, será porque no se preocupa
 de cambiar la comilla simple por ' , y en este
 caso, deberemos ser nosotros los que
 manualmente lo cambiemos de todas las
 variables pasadas tanto por URL como vía
 formulario:
inyeccion.php
 // Evitamos la inyeccion SQL

 // Modificamos las variables pasadas por URL
 foreach( $_GET as $variable => $valor ){
 $_GET [ $variable ] = str_replace ( "'" , "'" , $_GET [
 $variable ]);
 }
 // Modificamos las variables de formularios
 foreach( $_POST as $variable => $valor ){
 $_POST [ $variable ] = str_replace ( "'" , "'" , $_POST
 [ $variable ]);
 }
Incluiremos este script en todas las
páginas realicemos consultas a la base
de datos:
 // Evitamos la inyeccion SQL
 include 'inyeccion.php' ;
 //
 // Contenido de la página PHP
 //

More Related Content

What's hot

Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
Luis Silva
 
Proteccion a la base de datos
Proteccion a la base de datosProteccion a la base de datos
Proteccion a la base de datos
Sergio Olivares
 
Integridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De DatosIntegridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De Datos
Drakonis11
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
Juan Quiroga
 
Unidad iv -_seguridad
Unidad iv -_seguridadUnidad iv -_seguridad
Unidad iv -_seguridad
Whaleejaa Wha
 
CUESTIONES 19
CUESTIONES 19CUESTIONES 19
CUESTIONES 19
majitoer
 

What's hot (20)

Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
Proteccion a la base de datos
Proteccion a la base de datosProteccion a la base de datos
Proteccion a la base de datos
 
Las diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosLas diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datos
 
Integridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De DatosIntegridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De Datos
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
exposicion integridad y seguridad de las bases de datos
exposicion integridad y seguridad de las bases de datosexposicion integridad y seguridad de las bases de datos
exposicion integridad y seguridad de las bases de datos
 
Seguridad app web
Seguridad app webSeguridad app web
Seguridad app web
 
Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datos
 
Seguridad Base de datos
 Seguridad Base de datos  Seguridad Base de datos
Seguridad Base de datos
 
Seguridad de base de datos
Seguridad de base de datos Seguridad de base de datos
Seguridad de base de datos
 
Seguridad e integridad de datos
Seguridad e integridad de datosSeguridad e integridad de datos
Seguridad e integridad de datos
 
Unidad iv -_seguridad
Unidad iv -_seguridadUnidad iv -_seguridad
Unidad iv -_seguridad
 
CUESTIONES 19
CUESTIONES 19CUESTIONES 19
CUESTIONES 19
 
Seguridad En Sistemas Operativos
Seguridad En Sistemas OperativosSeguridad En Sistemas Operativos
Seguridad En Sistemas Operativos
 
Ingrid 9-1
Ingrid 9-1Ingrid 9-1
Ingrid 9-1
 
SEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOSSEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOS
 
Seguridad de bases de datos
Seguridad de bases de datosSeguridad de bases de datos
Seguridad de bases de datos
 
Seguridad
SeguridadSeguridad
Seguridad
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Cuestiones de repaso capitulo 19
Cuestiones de repaso capitulo 19Cuestiones de repaso capitulo 19
Cuestiones de repaso capitulo 19
 

Viewers also liked

Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
William Suárez
 
3. elementos del lenguaje. variables y estructuras de datos
3.  elementos del lenguaje. variables y estructuras de datos3.  elementos del lenguaje. variables y estructuras de datos
3. elementos del lenguaje. variables y estructuras de datos
Pablo Pacheco
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
Carlos Fernandez
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2
Cristina Huerta
 
Elementos del lenguaje variables y estructuras de datos
Elementos del lenguaje variables y estructuras de datosElementos del lenguaje variables y estructuras de datos
Elementos del lenguaje variables y estructuras de datos
jnarchie
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
Joseluis Cruz Ramirez
 
Algoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salidaAlgoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salida
Israel Alfonso
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
Boris Salleg
 

Viewers also liked (20)

Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
que spss
que spssque spss
que spss
 
Definicion de variables seguridad informatica
Definicion de variables seguridad informaticaDefinicion de variables seguridad informatica
Definicion de variables seguridad informatica
 
3. elementos del lenguaje. variables y estructuras de datos
3.  elementos del lenguaje. variables y estructuras de datos3.  elementos del lenguaje. variables y estructuras de datos
3. elementos del lenguaje. variables y estructuras de datos
 
Estadística
EstadísticaEstadística
Estadística
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Tipos de-variables
Tipos de-variablesTipos de-variables
Tipos de-variables
 
Erwin. priones
Erwin. prionesErwin. priones
Erwin. priones
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2
 
Elementos del lenguaje variables y estructuras de datos
Elementos del lenguaje variables y estructuras de datosElementos del lenguaje variables y estructuras de datos
Elementos del lenguaje variables y estructuras de datos
 
Muestreo
MuestreoMuestreo
Muestreo
 
INTEGRIDAD DE DATOS
INTEGRIDAD DE DATOSINTEGRIDAD DE DATOS
INTEGRIDAD DE DATOS
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
 
Variables
VariablesVariables
Variables
 
Variables estadisticas
Variables estadisticasVariables estadisticas
Variables estadisticas
 
Algoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salidaAlgoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salida
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Las variables en una investigacion cientifica
Las variables en una investigacion cientificaLas variables en una investigacion cientifica
Las variables en una investigacion cientifica
 
05 recodificar una variable de una base de datos
05 recodificar una variable de una base de datos05 recodificar una variable de una base de datos
05 recodificar una variable de una base de datos
 

Similar to Seguridad en bases de datos

Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
Carlos Soriano
 
Inyeccion sql
Inyeccion sqlInyeccion sql
Inyeccion sql
obispo28
 
Reporte de Seguridad
Reporte de SeguridadReporte de Seguridad
Reporte de Seguridad
kiensoiyo
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
Jorge García
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La Red
xhelazz
 

Similar to Seguridad en bases de datos (20)

Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
 
Inyeccion sql
Inyeccion sqlInyeccion sql
Inyeccion sql
 
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación Web
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Reporte de Seguridad
Reporte de SeguridadReporte de Seguridad
Reporte de Seguridad
 
Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015
 
Taller cybersecurity 2016
Taller cybersecurity 2016Taller cybersecurity 2016
Taller cybersecurity 2016
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
ciberataques
ciberataquesciberataques
ciberataques
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La Red
 
Privacidad En La Red miguel laviña y carlos tomey
Privacidad En La Red  miguel laviña y carlos tomeyPrivacidad En La Red  miguel laviña y carlos tomey
Privacidad En La Red miguel laviña y carlos tomey
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La Red
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
WebAttack - Presentación
WebAttack - PresentaciónWebAttack - Presentación
WebAttack - Presentación
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
Hacking de servidores web OMHE
Hacking de servidores web OMHEHacking de servidores web OMHE
Hacking de servidores web OMHE
 

Recently uploaded

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 

Recently uploaded (20)

CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 

Seguridad en bases de datos

  • 2. INTRODUCCIÓN A LA SEGURIDAD  Información almacenada en la base de datos debe estar protegida contra accesos no autorizados, la destrucción o alteración de datos con fines indebidos y contra la introducción accidental de inconsistencia.
  • 4. VIOLACIONES DE LA SEGURIDAD E INTEGRIDAD La pérdida de consistencia se debe: Anomalías en la Error lógico que Caídas de Anomalías a la distribución viola transacciones base de datos computadores transacciones Para respeta protecciones de base de datos Es más fácil prevenir la pérdida de consistencia de datos que prevenir el acceso mal intencionado a la base de datos
  • 5. Formas de acceso indebido Lectura de datos sin autorización (robo de información). Modificación de datos sin autorización. Destrucción no autorizada de los datos
  • 6. Niveles de seguridad para una base de datos: Físico El lugar donde se encuentran los sistemas debe estar protegido Humano Debe tener cuidado al conceder autorizaciones Sistema operativo Seguridad contra ataques exteriores Sistemas de bases de datos Garantizar que no se violen las restricciones de autorización
  • 7.
  • 8. ¿Que son las inyecciones de código SQL?  Es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar consultas a una base de datos.  Consiste en la modificación de las consultas a nuestra base de datos a partir de los parámetros pasados por URL al script en PHP.
  • 9. ¿Dónde se origina este problema?  Por el incorrecto chequeo o filtrado de las variables.
  • 10. ¿Como saber si tu sitio puede ser hackeado con SQL Injection?  Simplemente agregale "/*" o una simple tilde, si te tira un error, tu sitio es vulnerable. Vamos a poner un ejemplo: Tu sitio es "http://www.tupagina.com/index.php?id=1" Lo comprobamos de la siguiente manera: "http://www.tupagina.com/index.php?id=1/*" o tambien asi: "http://www.tupagina.com/index.php?id=1'" como tambien de esta manera: "http://www.tupagina.com/index.php?id=1)" Si al colocar cualquiera de estas opciones da un error, tu sitio es vulnerable, por el contrario si tu sitio sigue mostrandose igual, tanto tu SQL como tu plantilla php estan correctamente configurados.
  • 11. ¿Como realiza un hacker la inyección?  Simplemente verifica que el sitio sea vulnerable con las tecnicas que mencioné anteriormente, si lo es comienza el proceso de prueba. tu sitio es : "http://www.tupagina.com/index.php?id=1" asi que se comienza con el chequeo de tablas asi "-1 order by 1" hasta dar con el error "-1 order by 16" una vez alli ya sabemos que las tablas son menos de 16 mostrando el siguiente error "Unknown column '17' in 'order clause".
  • 12. ¿En que consiste? Validar el acceso de un usuario registrado utilizando SQL: $sql = "SELECT * FROM usr WHERE id = '" . $id ; $sql .= "' AND pwd = '" . $pwd . "'" ; Cuando se tienen valores para el nombre de usuario (id) y la contraseña del usuario (pwd) se tendrá una consulta normal a la base de datos que nos devolverá los datos del usuario si la contraseña es correcta: SELECT * FROM usr WHERE id = 'root' AND pwd = '4358'
  • 13.  Si intentamos modificar la consulta poniendo cómo contraseña ' OR '' = ' SELECT * FROM usr WHERE id = 'root' AND pwd = ' ' OR '' = ' '  Como '' siempre es igual a '', habremos modificado la consulta para que nos devuelva siempre los datos del usuario aunque la contraseña sea incorrecta, y el visitante malintencionado se podrá conectar como cualquier usuario.
  • 14.  el visitante malintencionado podra conseguir contraseñas, borrar, anñadir y modificar datos de nuestra base de datos... por eso es importanto que nos aseguremos que nuestro sitio es seguro en este aspecto.
  • 15. ¿Que debo hacer?  En el caso de que tu servidor haya dado resultado positivo, será porque no se preocupa de cambiar la comilla simple por ' , y en este caso, deberemos ser nosotros los que manualmente lo cambiemos de todas las variables pasadas tanto por URL como vía formulario:
  • 16. inyeccion.php  // Evitamos la inyeccion SQL // Modificamos las variables pasadas por URL foreach( $_GET as $variable => $valor ){ $_GET [ $variable ] = str_replace ( "'" , "'" , $_GET [ $variable ]); } // Modificamos las variables de formularios foreach( $_POST as $variable => $valor ){ $_POST [ $variable ] = str_replace ( "'" , "'" , $_POST [ $variable ]); }
  • 17. Incluiremos este script en todas las páginas realicemos consultas a la base de datos:  // Evitamos la inyeccion SQL include 'inyeccion.php' ; // // Contenido de la página PHP //