METODOLOGÍA DE PRUEBAS DE INYECCIÓN SQL PARA ENTORNOS WEB

Tamaño: px
Comenzar la demostración a partir de la página:

Download "METODOLOGÍA DE PRUEBAS DE INYECCIÓN SQL PARA ENTORNOS WEB"

Transcripción

1 METODOLOGÍA DE PRUEBAS DE INYECCIÓN SQL PARA ENTORNOS WEB Gerson Geovanny Delgado Caballero 1 Universidad Pontificia Bolivariana Bucaramanga, Colombia Resumen La naturaleza de las aplicaciones Web, principalmente por el amplio mercado que ofrecen y por la capacidad de permitir su acceso a personas de todo el mundo las ha convertido en un flanco de ataque por parte de delincuentes cibernéticos, entre las técnicas encontradas para vulnerar los sitios Web se encuentra la inyección SQL la cual generalmente involucra las base de datos de un sitio Web, de ahí su nombre y se basa principalmente en explotar la relación que existe entre la aplicación y el servidor de base de datos. Esta relación es explotada para atacar la base de datos directamente a través de la aplicación, utilizando el servidor de base de datos para atacar otros sistemas en la organización. Con el presente artículo se busca proveer la suficiente información para que el lector pueda entender ésta técnica de ataque, además que logre dimensionar su alcance, causas y consecuencias. Este artículo no cubre la sintaxis SQL de base de base datos. Se supone que el lector tiene una sólida comprensión de estos temas. Este documento se centrará en definir qué es una inyección SQL, identificar una metodología de pruebas, identificar las técnicas de evasión y la forma de defenderse. Palabras claves Inyección SQL, ataque, seguridad, aplicaciones Web. 1 Gerson Geovanny Delgado Caballero, Ingeniero de Software y Comunicaciones. Especialista en Telecomunicaciones.

2 Abstract The nature of Web applications, mainly for the broad market offering and the ability to allow access to people around the world, has become a flank attack by cybercriminals, among the techniques found to infringe sites Web is SQL injection which usually involves a database of Web site, hence its name and is mainly based on exploiting the relationship between application server and database. This relationship is exploited to attack the database directly through the application using the database server to attack other systems within the organization. The present article seeks to provide sufficient information to enable the reader to understand this attack technique that achieves dimension also its scope, causes and consequences. This article does not cover the basic syntax of SQL database. It is assumed that the reader has a solid understanding of these issues. This paper will focus on defining who is a SQL injection, to identify a test methodology to identify the evasion techniques and how to defend themselves. Keywords: SQL injection, attack, security, Web applications. 1. Introducción Las aplicaciones en ambiente Web ofrecen a todo tipo de atacantes cibernéticos un mercado amplio y exquisito porque encuentran en ellas un punto de convergencia de un número muy importante de organizaciones y usuarios a nivel mundial más aún cuando éstas cada día se enriquecen cada vez con mejores contenidos como multimedia, música, información de todo tipo, entretenimiento, entre otras muchas ventajas, adicionalmente porque comercialmente tienen gran acogida por todo tipo de empresas independientemente de su objeto social. Lograr vulnerar estos sitios de encuentro común con el fin de obtener determinados beneficios es una tarea que cada vez mejoran más los atacantes cibernéticos, una técnica utilizada con gran frecuencia y con buenos resultados es la inyección SQL. Esta técnica permite que un atacante logre con esta vulnerabilidad de inyección SQL recuperar el contenido de la base de datos detrás de un firewall y de esta manera penetrar en la red interna, además puede causar la contaminación de toda la información sensible almacenada en la base de datos de una aplicación, incluida la información útil como nombres de usuario, contraseñas, direcciones, números de teléfono, datos de la tarjeta de crédito, entre otros. Entre los grandes problemas que enfrentan los administradores ante ataques de este tipo, es que es una de las vulnerabilidades más devastadoras para el impacto de un negocio ya que permite a los usuarios remotos acceder a información confidencial. La mayor importancia que se le da a este ataque radica en que el atacante aprovecha la sintaxis y las funcionalidades que le brinda el SQL 2 en sí mismo, para la ejecución de dichas consultas, lo cual lo hace potencialmente peligroso ya que con ello puede realizar en el servidor 2 SQL (Structured Query Language, Lenguaje Estructurado de Consultas).

3 de base de datos casi cualquier cosa que le sea permitida realizar. Así como existe el ataque existe la forma de protegerse de ellos y no se requiere implementar acciones extraordinarias que involucren una demora tan significativa en el desarrollo de las aplicaciones que prolongue de manera exagerada la puesta en producción del mismo, más aún cuando los propios lenguajes de programación y servidores Web ofrecen mecanismos para contrarrestar este tipo de ataques. Mediante la información proporcionada por este artículo el lector comprenderá la importancia de implementar las medidas de seguridad necesarias para minimizar el riesgo de sufrir ataques de tipo Inyección SQL y con ello crear aplicaciones más seguras y confiables. 2. Qué es la inyección SQL? La inyección SQL es un tipo de ataque en el que el atacante incluye declaraciones SQL malintencionados, a través de campos de entrada de cualquier tipo de software que precise del uso de base de datos, o una aplicación web que interactúe con una base de datos para funcionar, el cual se aprovecha de las vulnerabilidades que tienen dichas aplicaciones debido a que el desarrollador acepta que los datos del usuario se almacenen o depositen directamente en una sentencia SQL y no filtran correctamente los caracteres peligrosos.[1][2][3][4]. Tabla 1. Comandos DCL, DDL, DML, Cláusulas y Operadores de Comparación Tomado de:

4 La Inyección SQL recibe su nombre debido a que hace uso del lenguaje llamado SQL. Estas sentencias SQL pueden modificarla estructura de las bases de datos (usando instrucciones del lenguaje de definición de datos, o DDL ) y manipular el contenido de las bases de datos (usando instrucciones del lenguaje de manipulación de datos, o DML ). Dentro de los comandos básicos de SQL, se identifican cuatro grupos principales: Figura 1, Tabla 1 a), b), c), d), e). [5] [6] Los ataques de inyección SQL son ayudados la mayoría de las veces por los mensajes de error detallados y datos sin filtrar devueltos por la aplicación que se muestran en la interfaz del usuario. Con cada error, ayuda al atacante obtener información sobre la base de datos y a crear y a refinar el ataque. Algunos administradores desactivan estos errores (SHOW_ERRORS y SHOW_WARNINGS) para que no se muestren posibles errores provocados en el intérprete

5 SQL, esto hace que la explotación de un posible ataque de inyección SQL sea más difícil pero no imposible, el atacante puede robar datos haciendo una serie de consultas de Verdadero/Falso (Lógica Booleana) a través de sentencias SQL. En la Tabla 6 se puede observar una lista de caracteres muy útiles para la inyección SQL. Estos símbolos son usados es SQL99 3. [7][8][9] Tabla 2. Caracteres para Inyección SQL Tomado de: Aunque la tarea inicial para el atacante es identificar los sitios que poseen este tipo de vulnerabilidad. Casi todas las bases de datos y lenguajes de programación son potencialmente vulnerables: MS SQL Server, Oracle, MySQL, PostgreSQL DB2, MS Access, Sybase, Informix, etc, porque se trata de un problema de validación de entrada que tiene que ser considerado y programado por el desarrollador de aplicaciones web. [9] 3. METODOLOGÍA DE PRUEBAS PARA LA INYECCIÓN SQL 3 La versión SQL3 (También referida por algunos como SQL99).

6 Pasos a seguir: 3.1 Entender el Funcionamiento de la Aplicación Web. Aunque las diferentes aplicaciones se comportan de diferentes maneras, el fundamento es el mismo, debido a que todos los entornos son basados en Web. Hay que observar cómo el navegador envía las peticiones al servidor Web. Las peticiones que se envían al servidor Web pueden ser de dos posibles formas: Visibles (Método GET) u ocultos (Método POST). Como se observa en la figura 2. El usuario realiza a través del navegador la petición de una página Web. El servidor Web identifica la solicitud que para este caso, es una página dinámica, por lo tanto esta debe ser interpretada por el motor de PHP el cual ejecuta el código. Dentro del código se obtiene el valor de las variables enviadas por el usuario, con base en ello procede a conectarse al servidor de base de datos para realizar la respectiva consulta. Finalmente el resultado de la ejecución del código PHP, es tomado por el servidor Web para ser enviado al navegador del usuario como respuesta a su solicitud. Algunas veces, la respuesta incluirá un error de SQL de la base de datos, esto ayuda a obtener información importante, sin embargo, otras veces hay que estar concentrado y detecta diferencias sutiles. [6][12][13] 3.2 Validar Entradas y Recopilar Información.

7 La Inyección SQL se puede presentar en cualquier parte de la aplicación Web, por esta razón se identifican todas las entradas de datos en la aplicación web, qué tipo de solicitud podría provocar anomalías y detectar las anomalías en la respuesta del servidor. Se realizan las validaciones para de esta manera encontrar una entrada vulnerable en la aplicación Web. Una vez detectadas las anomalías el siguiente paso es reunir la mayor información posible acerca de la aplicación Web a través de lo siguiente: Los mensajes de error: Estos mensajes de error generan información valiosa. Diversas bases de datos permiten y requieren diferentes sintaxis SQL. Definir el tipo de motor de base de datos es fundamental para las siguientes etapas. La mayoría de los mensajes de error indican con qué base de datos están trabajando. Al identificar el sistema operativo y el servidor web a veces es más fácil deducir la posible base de datos. Entender la consulta: La consulta, puede ser un "SELECT", "UPDATE", "INSERT" o algo más complejo. Es importante determinar lo que el formulario o la página está tratando de hacer con la entrada para determinar en qué parte modificar la consulta. [6][9][11][12][13] 3.3 Determinar el Nivel de Privilegios de Usuario, el Nombre y la Versión de la Base de Datos. Con el uso de caracteres específicos puede saber con certeza la versión de la base de datos. Pero para esto es fundamental identificar el número de columnas de la tabla o campos seleccionados en la consulta. Esto se logra a través de la utilización de la clausula ORDER BY. La cual le permite ordenar los resultados en función de los campos que hayan sido seleccionados en la consulta. La consulta anterior (Ejemplo 1) ordena los campos por apellido. Otra alternativa para indicar el nombre del campo es utilizando su posición. Con esta consulta (Ejemplo 2) se podrá ir ordenando por el primer campo, luego por el segundo y así de forma incremental hasta generar un error de este tipo: La posición 3 no existe porque solo se

8 seleccionaron 2 campos (nombre y apellido), por esta razón genera este tipo de errores. Cuando esto suceda se sabrá cuantos campos se seleccionaron en la consulta sin necesidad de mirar el código fuente o la estructura de la consulta. Identificado el número de campos seleccionados en la consulta, se debe determinar cuál de todos esos campos se muestran en la aplicación Web. No todos los campos seleccionados se suelen mostrar en la página Web de respuesta, algunos son utilizados internamente por la aplicación. Determinar qué campos son visibles servirá para mostrar a través de ellos la información que se quiere de la base de datos (el tipo y la versión). Para esto es necesaria la utilización de la cláusula UNION, la cual indica que se debe unir el resultado de la consulta anterior con los resultados de la consulta posterior. Para que esto sea posible las consultas deben tener el mismo número de campos, de lo contrario se generaría un error; por esta razón, es fundamental determinar el número de campos seleccionados en las consultas. Una vez identificados los campos seleccionados, estos permiten realizar las respectivas consultas SQL con los caracteres específicos. [user(), versión(), database()]. La unión de estas dos consultas (Ejemplo 3) muestra como resultado los datos de los usuarios con id 1 y 2. SQL integra varias funciones que funcionan en la mayoría de las bases de datos: user or current_user session_user system_user ' and 1 in (select user ) Estas funciones devuelven el nombre de usuario dentro de un mensaje de error. Para tener el mayor éxito en la inyección SQL se requiere altos niveles de privilegios de usuario. Esto nos indica lo que puede o no puede hacer el usuario, que al final servirá para ahorrar tiempo. [6][8][9][13] 3.4 Realizar el Ataque. Conociendo la información básica de la base de datos, la estructura de la consulta y los privilegios, se procede a iniciar el ataque. Descubrir la estructura de la base de datos. MySQL guarda los metadatos de las bases de datos en una base de datos llamada INFORMATION_SCHEMA (Figura 3), la cual es la base de datos de información, donde se almacena información sobre todas las otras bases de datos que mantiene el servidor MySQL. Dentro de INFORMATION_SCHEMA hay varias tablas de sólo lectura. Aunque se puede seleccionar INFORMATION_SCHEMA como base de datos por defecto con el comando USE, sólo se puede leer el contenido de las tablas, no efectuar operaciones INSERT, UPDATE o DELETE. [6][9] [11][12]

9 Nos enfocaremos en las siguientes tablas: SCHEMATA: Bases de datos. TABLES: Tablas en las bases de datos. COLUMNS: Columnas en las tablas. Enumeración de la base de datos. En MySQL un esquema es una base de datos, por lo tanto la tabla SCHEMATA (Figura 4), proporciona información acerca de las bases de datos. En el campo SCHEMA_NAME se encuentran los nombres de todas las base de datos.[6][9]

10 Enumeración de las tablas del sistema. En MySQL la tabla TABLES (Figura 5) proporciona información acerca de las tablas en las bases de datos. El campo TABLE_SCHEMA contiene información de los nombres de la base de datos y el campo TABLE_NAME contiene el nombre de las tablas. [6][9][11][13] Enumeración de las columnas de las tablas de diferentes bases de datos: Algunos servidores tienen varias bases de datos. Se pueden extraer al interrogar a las tablas del sistema de información de metadatos sobre las bases de datos. En MySQL la tabla COLUMNS (Figura 6) proporciona información acerca de las columnas en las tablas. En el campo COLUMN_NAME se encuentran los nombres de las columnas. Las tablas TABLES y COLUMNS, contienen 3 columnas que son compartidas: TABLE_SCHEMA: Contiene los metadatos de las bases de datos. TABLE_NAME: Contiene el nombre de las tablas. COLUMN_NAME: Contiene el nombre de las columnas de la tabla en cada base de datos. [13][15]

11 3.5 Extracción de Datos. La extracción de los datos es fácil una vez que la base de datos ha sido enumerada y las consultas se han entendido. Estos datos se utilizan para extraer la información o los datos. Extraer el nombre de usuario y contraseña de una tabla definida por el usuario. Extraer los hash de las contraseñas de base de datos. Transferir la estructura de la base de datos y los datos a través de una conexión inversa a un servidor SQL Server local. Crear una estructura de base de datos idéntica. Mediante la transferencia de los metadatos de la base de datos se puede crear la estructura de base de datos en el sistema local. Transferir la base de datos. Creada la estructura, los datos pueden transferirse fácilmente. Este método permite al atacante recuperar el contenido de una tabla incluso si la aplicación está diseñada para ocultar mensajes de error o resultados no válidos de la consulta. [6][9][13] 3.6 Interacción con el Sistema Operativo. Dependiendo del tipo de base de datos y los privilegios que se obtengan es posible interactuar directamente con el sistema operativo subyacente. Dos formas de interactuar con el sistema operativo: Lectura y escritura de archivos del sistema desde disco. Ejecución directa de comandos En ambos casos se verá restringido por los privilegios y permisos del usuario con el que se ejecuta el motor de base de datos. No siempre es posible evadir al sistema operativo para la ejecución directa de comandos a través de la inyección SQL. En la mayoría de base de datos, la ruta de acceso al sistema operativo no es directa. Se debe realizar la búsqueda de contraseñas y en algunos casos reemplazar archivos de configuración para lograr acceder indirectamente. Otra forma de ejecutar comandos es a través de la automatización de Scripts para ActiveX. [9][13] 3.7 Ampliar la influencia. En esta etapa final el atacante puede ampliar su influencia saltando a otras aplicaciones o servidores de base de datos. Vincula estos servidores remotos para comunicarse de forma transparente con ellos y de esta manera realizar consultas distribuidas e incluso controlar estos servidores de base de datos de forma remota y utilizar esa capacidad para acceder a la red interna. También es posible subir archivos a través de una conexión inversa y de una inyección SQL y ejecutar de forma remota procedimientos almacenados, debido que algunos servidores están configurados únicamente para permitir la ejecución remota de dichos procedimientos.[9]

12 4. APLICACIÓN DE LA METODDOLOGÍA. 4.1 Funcionamiento de la Aplicación Web: La aplicación web de ejemplo permite que mediante un formulario de inicio de sesión le pida al usuario su identificador (ID), para que posterior a su validación le muestre al usuario la información o el acceso que la aplicación Web tiene disponible para él. (Figura 7) Al observar la URL de la aplicación se identifican los parámetros que van después del signo de interrogación (?) separados entre si por el signo et (&), estos parámetros indican exactamente el número de ID a consultar en la página Web (Figura 8). Se identifica que el método utilizado es el método GET donde claramente se observa la variable y su valor en la URL Validar Entradas y Recopilar Información: Los mensajes de error. Con el mensaje de error suministrado se puede determinar que la base de datos utilizada en la aplicación es MySQL (Figura 9). Entender la consulta. Identificado en el paso anterior que se utiliza el método GET, se puede deducir en las lineas del codigo PHP (Ejemplo 4) que los valores enviados no tienen ninguna validación. Esta es una posible forma como se obtienen los valores enviados por el usuario:

13 Luego se puede deducir que más adelante se concatena el valor de la variable $id para formar la consulta SQL (Ejemplo 5). Si por ejemplo el $id fuera 1 la consulta quedaría de la siguiente manera (Ejemplo 6): La orden SELECT sirve para consultar registros de la base de datos. En el ejemplo 6 se estarían consultando todos los registros de la tabla users cuyo valor de la columna id sea igual a Determinar el Nivel de Privilegios de Usuario, el Nombre y la Versión de la Base de Datos. Obteniendo el número de campos seleccionados. Figura 10 a), b), c).

14 Identificando los campos que son visibles. Figura 11 a), b).

15 Obteniendo el nombre de la base de datos, el nombre de usuario y la versión de la base de datos. Figura 12 a), b).

16 4.4 Realizar el Ataque. Descubriendo la estructura de la base de datos. Figura 13. Enumeración de la base de datos. Figura 13. Enumeración de las tablas del sistema. Figura 14.

17 Enumeración de las columnas de las tablas de diferentes bases de datos. Figura Extracción de Datos. Información obtenida de la enumeración. Base de datos: dvwa Tabla: users Columnas: user, password Extracción de la información o los datos: Nombre de usuario y contraseña. Figura 16. Hash de las contraseñas. Figura 16.

18 Crackear las contraseñas encriptadas con MD5.

19 Contraseña crackeada: password 4.6 Interacción con el Sistema. Lectura y escritura de archivos del sistema. Figura 19.

20 4.7 Ampliar la Influencia. Subir archivos a través de una conexión inversa o de una inyección SQL. Figura 20.

21 5. TÉCNICAS DE EVASIÓN Y DEFENSA CONTRA INYECCIÓN SQL. Algunas son del tipo predictivo que permiten detectar y bloquear los ataques, incluso en tiempo real y otros son del tipo preventivos. Actualmente existen varias formas para evadir y defenderse de los ataques de inyección SQL. Es importante recordar que las soluciones analizadas son complementarias, en su conjunto las técnicas que se plantean ayudan a conseguir una arquitectura de seguridad multicapa. [18] 5.1 Defensas a Nivel de Código. Es la defensa más eficaz contra los ataques de inyección SQL. [18] Conexiones con mínimos privilegios. Validar los datos especificados por el usuario mediante comprobaciones de tipo, longitud, formato e intervalo. No hacer suposiciones sobre el tamaño, tipo de contenido de los datos que recibirá la aplicación. Comprobar el tamaño y el tipo de los datos especificados y aplique los limites adecuados. Comprobar el contenido de las variables de cadena y aceptar únicamente los valores esperados. Rechazar las especificaciones que contengan datos binarios, secuencias de escape y caracteres de comentario. Para los entornos de varios niveles, todos los datos deben validarse antes de que se admitan en la zona de confianza. Los datos que no superen el proceso de validación deben rechazarse, y debe devolverse un error al nivel anterior.

22 Implementar varias capas de validación, es decir, validar los datos especificados por el usuario en la interfaz de usuario y, después, en todos los puntos posteriores que atraviesen un límite de confianza. No concatene los datos especificados por el usuario que no se hayan validado. Rechazar los datos que contengan diversidad de caracteres. [17] [20] 5.2 Defensas a Nivel de Base de Datos. Nunca confié en su aplicación Web, las aplicaciones cambian a través del tiempo y las vulnerabilidades inesperadas pueden aparecer, por es necesario el realizar el endurecimiento Hardening al servidor de base de datos. En lo posible separar la base de datos del servidor de aplicaciones. Deshabilitar o Restringir el acceso remoto. Deshabilitar el uso de permisos que puedan leer ficheros del sistema operativo desde la base de datos. Cambiar el nombre de usuario y la contraseña del usuario root. Eliminar la base de datos por defecto Test que se distribuye con el servicio. Eliminar las cuentas anónimas y obsoletas. Utilizar privilegios mínimos del sistema. Utilizar privilegios mínimos de la base de datos. Configurar los log. Cambiar el directorio raíz a una partición distinta al sistema operativo. Eliminar el historial de la línea de comandos del usuario de la base de datos. Aplicar actualizaciones de seguridad del sistema operativo y del motor de base de datos. 5.3 Defensas a Nivel de Plataforma. Una defensa a nivel de plataforma es cualquier mejora o cambio de configuración en tiempo real que se puede hacer para aumentar la seguridad global de la aplicación. [12] Aunque la protección en tiempo real proporciona muchos beneficios, es necesario considerar algunos de los costos que pueden estar implicados, pero también existen soluciones de software gratuitas que están disponibles para su descarga en internet. La solución mas conocida en la seguridad de las aplicaciones Web es el uso de un firewall de aplicación Web (WAF). Un WAF es un dispositivo de red o solución basada en software que agrega características de seguridad para una aplicación Web. Uno de los WAF mas utilizados y de código abierto es el ModSecurity, el cual se implementa como un modulo del servidor web Apache. ModSecurity puede proteger prácticamente cualquier aplicación Web, incluso las aplicaciones Web basadas en ASP y ASP.NET. [12][24] Puede utilizar ModSecurity para la prevención de ataques, la vigilancia, la detección de intrusos y en general el endurecimiento de las aplicaciones. [12][24] La fortaleza de ModSecurity es la combinación de directivas de configuración y un lenguaje de programación simple aplicado a las peticiones y respuesta HTTP. El pronóstico generalmente es una acción específica, como permitir el paso de la solicitud, registrar la solicitud o el bloqueo de la misma. GreenSQL es otro firewall de aplicaciones que brinda seguridad a las bases de datos. Soporta MySQL y PostgreSQL en su versión Express y en su versión comercial soporta Microsoft SQL Server. GreenSQL es un firewall de base de datos de código abierto utilizado para la proteger las bases de datos de los ataques de Inyección SQL. Opera como un proxy entre el servidor de base de datos (MySQL, PostgreSQL o Microsoft SQL Server) y la aplicación

23 Web. Su lógica se basa en la evaluación de los comandos SQL utilizando una matriz de calificación de riesgos, así como el bloqueo de comandos conocidos utilizados en la administración de las bases de datos (DROP, CREATE, etc.) GreenSQL puede ser utilizado para operar en los siguientes modos: [23] Modo simulación. (Modo IDS). Bloqueo de comandos sospechosos. (Modo IPS) Modo Aprendizaje. Protección activa para consultas desconocidas. La peticiones que son enviadas a la aplicación Web, se envían a través del puerto de escucha de GreenSQL (Puerto 3305), el cual las analiza y las reenvía al servidor de base de datos. [23] Se recomienda para su configuración inicial habilitar en modo aprendizaje con el objetivo de no generar ningún impacto en las consultas que son enviadas o generadas para la aplicación Web. En este modo todas las consultas se añaden automáticamente a una lista blanca (Whitelist) o lista permitida. Una vez determinadas las consultas que son importantes para la aplicación Web se puede proceder a cambiar al modo de protección activa. Ofrece una intrerfaz gráfica de gestión compatible con los navegadores más comunes, con un conjunto de opciones para su configuración. [23]

24 6. Conclusiones El eslabón más débil en una aplicación Web para que permita ataques de inyección SQL es la poca o ninguna validación de las variables de entrada. Los desarrolladores deben reconocer que la seguridad es un componente fundamental de cualquier producto de software y deben incluir buenas prácticas de programación en el software que se esté desarrollando. Construir la seguridad en un producto es mucho más fácil y mucho más rentable que cualquier intento posterior a la eliminación o mitigación de los defectos descubiertos por los intrusos. Es una de las vulnerabilidades que genera mayor impacto porque permite el acceso a la información sensible o confidencial de una organización o entidad. Los diferentes motores de bases de datos y los mismos lenguajes de programación implementan técnicas para contrarrestar este tipo de ataques pero la principal responsabilidad se encuentra en el desarrollador quien debe validar correctamente las entradas de datos. 7. Agradecimientos Agradecimientos para Dios por las capacidades intelectuales otorgadas, a mis padres por su constante e incondicional apoyo y a todos los autores de las diversas referencias bibliográficas consultadas. 8. Biografía Gerson Delgado nació en Piedecuesta Santander, Especialista en Telecomunicaciones de la Universidad Industrial de Santander Bucaramanga, Colombia en Ingeniero de Software y Comunicaciones de la Universidad de Santander Bucaramanga Colombia en Amplio interés por la seguridad informática, la investigación y las nuevas tecnologías. Actualmente se desempeña como profesional de seguridad informática de una prestigiosa entidad Financiera.

25 9. Referencias [1]. SQL Injection (2010). [Online]. Disponible en: [2]. Sagar, Joshi (2005). SQL Injection Attack and Defense. [Online]. Disponible en: [3]. Kenkeiras (2010). SQL Injection. [Online]. Disponible en: [4]. Litchfield, David (2005). Data-mining with SQL Injection and Inference. [Online]. Disponible en: [5]. Anley, Chris (2002). Advanced SQL Injection In SQL Server Applications. [Online]. Disponible en: plications.sflb.ashx [6]. Racciatti, Hernán (2005). SQL Injection. Tres años después Detección y Evasión. [Online]. Disponible en: %20Deteccion%20y%20Evasion.zip [7]. Blindfolded SQL Injection (2009). [Online]. Disponible en: [8]. Ka0x (2008). Técnicas de inyección en MySQL. [Online]. Disponible en: [9]. Chapela, Víctor (2005). Advanced SQL Injection. [Online]. Disponible en: [10]. OWASP (2010). Open Web Application Security Project. [Online]. Disponible en: [11]. Martorella, Christian (2008). Principales vulnerabilidades en aplicaciones Web. [Online]. Disponible en: [12]. Clarke, Justin (2009). SQL Injection Attacks and Defense. Ed. Syngress Publishing, Inc. [13]. McCray, Joe. Advanced SQL Injection. [Online]. Disponible en: [14]. Warneck, Brad (2007). Defeating SQL Injection IDS Evasion. [Online]. Disponible en: [15]. Inyección SQL en Aplicaciones Web (I) (2007). [Online]. Disponible en:

26 [16]. Anley, Chris (2002). (more) Advanced SQL Injection. [Online]. Disponible en: [17]. Cerullo, Fabio (2010). OWASP Top , Los diez riesgos más importantes en aplicaciones web. [Online]. Disponible en: [18]. Nystrom, Martin (2007). SQL Injection Defenses. Ed. O reilly Media. [19]. Fisk, Harrison (2004). Prepared Statements. [Online]. Disponible en: [20]. SQL Injection Prevention Cheat Sheet (2010). [Online]. Disponible en: [21]. Ramos, Alejandro (2010). Fortificación de MySQL 1/3. [Online]. Disponible en: [22]. OWASP Testing Guide V3.0 (2008). [Online]. Disponible en: [23]. GreenSQL. [Online]. Disponible en: [24]. Modsecurity. [Online]. Disponible en:

VÍDEO intypedia007es LECCIÓN 7: SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL. AUTOR: Chema Alonso

VÍDEO intypedia007es LECCIÓN 7: SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL. AUTOR: Chema Alonso VÍDEO intypedia007es LECCIÓN 7: SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL AUTOR: Chema Alonso Consultor de Seguridad en Informática 64. Microsoft MVP Enterprise Security

Más detalles

Programación páginas web JavaScript y PHP

Programación páginas web JavaScript y PHP Programación páginas web JavaScript y PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

Técnicas del Penetration Testing

Técnicas del Penetration Testing Técnicas del Penetration Testing Victor H. Montero vmontero@cybsec cybsec.comcom Septiembre de 2005 Buenos Aires - ARGENTINA Agenda - Qué es un Penetration Test? - El rol del PenTest en la Seguridad Informática.

Más detalles

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace 5. Internet 5.1. Qué es Internet? Internet es una red mundial de equipos que se comunican usando un lenguaje común. Es similar al sistema telefónico internacional: nadie posee ni controla todo el sistema,

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo CURSO DE PHP El objetivo final que persigue este curso es dotar al alumno de los conocimientos necesarios para elaborar páginas web de carácter dinámico, utilizando, para ello, el lenguaje de programación

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

abacformacio@abacformacio.com

abacformacio@abacformacio.com Programación de páginas web con PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

Hacking Ético Web. I Jornadas Tecnológicas CEEPS 27-03-2012 Carlos García García i52gagac@uco.es ciyinet@gmail.com. @ciyinet

Hacking Ético Web. I Jornadas Tecnológicas CEEPS 27-03-2012 Carlos García García i52gagac@uco.es ciyinet@gmail.com. @ciyinet Hacking Ético Web I Jornadas Tecnológicas CEEPS 27-03-2012 Carlos García García i52gagac@uco.es ciyinet@gmail.com @ciyinet Índice Introducción OWASP OWASP Top 10 (2010) Demostración ataques Inyección SQL

Más detalles

Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team

Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team Temario 1. Introducción 2. Cross Site Scripting (XSS) 3. Inyección SQL 4. Nuestro código en el servidor 5.

Más detalles

Penetration Test Metodologías & Usos

Penetration Test Metodologías & Usos Penetration Test Metodologías & Usos Lic. Luis Ramírez lramirez@cybsec.com 18 de Noviembre de 2009 Asunción, n, Paraguay Agenda Introducción Seguridad Informática en los Sistemas Objetivos, Tipos y Alcances

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

CURSO DE PROGRAMACIÓN PHP MySQL

CURSO DE PROGRAMACIÓN PHP MySQL CURSO DE PROGRAMACIÓN PHP MySQL MASTER EN PHP MÓDULO NIVEL BASICO PRIMER MES Aprende a crear Sitios Web Dinámicos con PHP y MySQL 1. Introducción Qué es PHP? Historia Por qué PHP? Temas de instalación

Más detalles

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 1.1 SISTEMAS LÓGICOS DE ALMACENAMIENTO DE LA INFORMACIÓN...13 1.2 ALMACENAMIENTO EN FICHEROS...13 1.2.1 Registros físicos y registros

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

Desarrollo seguro en Drupal. Ezequiel Vázquez De la calle

Desarrollo seguro en Drupal. Ezequiel Vázquez De la calle Sobre mi Estudios Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Experto en Seguridad de las TIC - US Experiencia Aficiones 3+ años como desarrollador web, casi 2 en Drupal

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Programación páginas web. Servidor (PHP)

Programación páginas web. Servidor (PHP) Programación páginas web. Servidor (PHP) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos MySQL.

Más detalles

Programación páginas web JavaScript y PHP

Programación páginas web JavaScript y PHP PRESENTACIÓN Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología PHP y el servidor

Más detalles

Acronis Backup & Recovery 10 Advanced Editions. Guía rápida de inicio

Acronis Backup & Recovery 10 Advanced Editions. Guía rápida de inicio Acronis Backup & Recovery 10 Advanced Editions Guía rápida de inicio Este documento describe cómo instalar y comenzar a utilizar las siguientes ediciones de Acronis Backup & Recovery 10: Acronis Backup

Más detalles

Software generador de documentos a través de la Web

Software generador de documentos a través de la Web Julia Patricia Melo Morín 1 Software generador de documentos a través de la Web 1 Contacto: patricia.melo@itspanuco.edu.mx Resumen Uno de los mayores problemas a los que se enfrentan las grandes corporaciones

Más detalles

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida 9.1 Operaciones CAPITULO 9 Diseño de una Base de Datos Relacional Distribuida Las consultas distribuidas obtienen acceso a datos de varios orígenes de datos homogéneos o heterogéneos. Estos orígenes de

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Lección 7: INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL

Lección 7: INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL Lección 7: INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL Chema Alonso chema@informatica64.com Informática 64 Microsoft MVP en Enterprise Security Incidentes de Seguridad I: Kaspersky 2 Incidentes de Seguridad

Más detalles

Christian Martorella - Vicente Díaz Edge-security Fist Conference April 2007

Christian Martorella - Vicente Díaz Edge-security Fist Conference April 2007 Christian Martorella - Vicente Díaz Edge-security Fist Conference April 2007 Indice Introducción a la seguridad de DB Motores de Bases de Datos Ataques internos Ataques externos Conclusiones Introducción

Más detalles

Circular de Tecnología Pautas de seguridad para el desarrollo de aplicaciones Web

Circular de Tecnología Pautas de seguridad para el desarrollo de aplicaciones Web ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 2007-05-16 Documento de Circular de Tecnología Pautas de seguridad para el desarrollo de aplicaciones Web Versión 01 ARCHIVO: ASIT 20070501

Más detalles

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP. Duración: 60 horas FUNDAMENTACIÓN DEL CURSO PROGRAMACIÓN EN PHP El Lenguaje PHP o Hypertext PreProcessor, al igual que C y Perl maneja programación estructurada, lo que le permite a los programadores con

Más detalles

1) Proxy, Cortafuegos, que son? Pág.2. 2) Funcionamiento de un proxy Pág.3. 3) Proxy NAT / Enmascaramiento Pág.3

1) Proxy, Cortafuegos, que son? Pág.2. 2) Funcionamiento de un proxy Pág.3. 3) Proxy NAT / Enmascaramiento Pág.3 Indice 1) Proxy, Cortafuegos, que son? Pág.2 2) Funcionamiento de un proxy Pág.3 3) Proxy NAT / Enmascaramiento Pág.3 4) Servidores proxy / Servidores de Sockets Pág.4 5) Proxy de web / Proxy cache de

Más detalles

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

Aranda 360 ENDPOINT SECURITY

Aranda 360 ENDPOINT SECURITY Tabla de contenido Product Architecture Product Architecture Introducción Ambiente Redesdetrabajo Configuraciones Políticas Servidores Componentes Agente Servidor Base de datos Consola Comunicación Consola

Más detalles

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP OBJETIVOS Estudiar la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos

Más detalles

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Programa de Capacitación y Certificación. INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Contenido PERFIL DE UN ESPECIALISTA EN BASES DE DATOS.... 3 6231. MANTENIENDO UNA BASE DE DATOS DE SQL SERVER 2008

Más detalles

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en 15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como

Más detalles

Ataques XSS en Aplicaciones Web

Ataques XSS en Aplicaciones Web Ataques XSS en Aplicaciones Web Education Project Antonio Rodríguez Romero Consultor de Seguridad Grupo isoluciones antonio.rodriguez@isoluciones.es Copyright 2007 The Foundation Permission is granted

Más detalles

Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu

Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu Firewall Y Proxy Integrantes: Héctor Duran Katherine Zumelzu Fecha: 15/04/2015 Índice Qué es un firewall?... 3 Tipos de Firewall... 4 -Nivel de aplicación de Pasarela:... 4 -Circuito a nivel de Pasarela:...

Más detalles

Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web Seguridad en Aplicaciones Web Fabian Portantier Consultor en Seguridad Informática Instructor y Escritor sobre el tema Coordinador de la Carrera de Seguridad www.portantier.com Aplicaciones Web Actuales

Más detalles

Seguridad en Servicios de Hosting

Seguridad en Servicios de Hosting Tendencias de la Tecnología en Seguridad Informática 2009 Seguridad en Servicios de Hosting Juan Pablo Perez Etchegoyen jppereze@cybsec.com 16 de Septiembre de 2009 Buenos Aires - Argentina Agenda Introducción

Más detalles

Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Máster en Seguridad de las TIC - US

Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Máster en Seguridad de las TIC - US Sobre mi Formación Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Máster en Seguridad de las TIC - US Experiencia Aficiones 4+ años como desarrollador web, más de 2 en Drupal

Más detalles

Introducción a ataques de tipo inyección: Inyección SQL

Introducción a ataques de tipo inyección: Inyección SQL Introducción a ataques de tipo inyección: Inyección SQL Jorge Peris Cortés - jorpecor@alumni.uv.es Asignatura: Redes Ingeniería Informática - Curso 2011/2012 Universidad de Valencia 1 Índice INTRODUCCIÓN...

Más detalles

Curso de Programación PHP

Curso de Programación PHP Curso de Programación PHP Presentación : PHP es el lenguaje de programación más usado en los servidores de Internet debido a su potencia, velocidad de ejecución y simplicidad que lo caracterizan. Este

Más detalles

Conexión a Bases de Datos en PHP

Conexión a Bases de Datos en PHP 1. 2. 3. 4. 5. 6. Configuración y acceso servidor MySQL 1.1. Conexión servidor MySQL desde xampp 1.2. Configuración password usuario root Configurar la Base de Datos 2.1. Crear la Base de datos 2.2. Crear

Más detalles

E 2.4.1 Documento de entrega de Aplicación

E 2.4.1 Documento de entrega de Aplicación E 2.4.1 Documento de entrega de Aplicación Versión: 0.1 Fecha: 11/08/11 Autor: Email: Antoni Bertran Bellido abertran@opentrends.net Historial de cambios Versión Fecha Autor Cambios 0.1 11/08/11 Antoni

Más detalles

Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web Seguridad en Aplicaciones Web Leandro Meiners lmeiners@cybsec cybsec.comcom Septiembre de 2005 Buenos Aires - ARGENTINA Temario Temario Introducción al Protocolo HTTP: Arquitectura, carácterísticas, autenticación,

Más detalles

S E G U R I D A D E N A P L I C A C I O N E S W E B

S E G U R I D A D E N A P L I C A C I O N E S W E B H E R R A M I E N T A S A V A N Z A DA S D E DE S A R R O L L O D E S O F T W A R E 2 0 0 7-2 0 0 8 S E G U R I D A D E N A P L I C A C I O N E S W E B X S S Y S Q L I N J E C T I O N G R U P O 2 4 S A

Más detalles

Comparativo de la versión 4.x a la versión 5.9.8.x Generalidades en funciones, herramientas y vistas de información en la consola de administración

Comparativo de la versión 4.x a la versión 5.9.8.x Generalidades en funciones, herramientas y vistas de información en la consola de administración Comparativo de la versión 4.x a la versión 5.9.8.x Generalidades en funciones, herramientas y vistas de información en la consola de administración No está en la versión Está incluido en la versión Consulta

Más detalles

PROGRAMA DE ESTUDIOS BASE DE DATOS

PROGRAMA DE ESTUDIOS BASE DE DATOS PROGRAMA DE ESTUDIOS BASE DE DATOS IDENTIFICACIÓN DEL CURSO Ubicación HCA HTI Total de horas Valor en créditos 5 semestre 1 3 4 4 Tipo de curso Obligatorio Matemáticas V Física III Inglés III Asignaturas

Más detalles

Hacking Ético y Frameworks Opensource

Hacking Ético y Frameworks Opensource Hacking Ético y Frameworks Opensource Mariano Nuñez Di Croce mnunez@cybsec.com Febrero 11-13, 13, 2009 IX Seminario Iberoamericano de Seguridad en las Tecnologías de la Información La Habana,, Cuba Copyright

Más detalles

Tema 6. Que la fuerza te acompañe y además, algunas herramientas software que te harán la vida más sencilla ante los ataques de ingeniería social

Tema 6. Que la fuerza te acompañe y además, algunas herramientas software que te harán la vida más sencilla ante los ataques de ingeniería social A Tema 6 Que la fuerza te acompañe y además, algunas herramientas software que te harán la vida más sencilla ante los ataques de ingeniería social Tema 6 A Que la fuerza te acompañe y además, algunas herramientas

Más detalles

Inseguridad de los sistemas de autenticación en aplicaciones web

Inseguridad de los sistemas de autenticación en aplicaciones web Barcelona, 18 de Marzo Inseguridad de los sistemas de autenticación Vicente Aguilera Díaz vaguilera@isecauditors.com Contenido 0. Introducción al sistema de autenticación 2. Medidas de protección 3. Referencias

Más detalles

Seguridad en Sitios Web de Alto Tráfico. Ing. Enrique Hurtarte Juárez

Seguridad en Sitios Web de Alto Tráfico. Ing. Enrique Hurtarte Juárez Seguridad en Sitios Web de Alto Tráfico Ing. Enrique Hurtarte Juárez Guatemala, 24 de Julio de 2014 XumaK Quienes somos XumaK es una empresa que fue fundada en 2003 por Marcos Andres como una de las primeras

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

las necesitan. Estos índices deben de ser administrados y revisados por lo menos cada tres meses para que los índices no sean un problema.

las necesitan. Estos índices deben de ser administrados y revisados por lo menos cada tres meses para que los índices no sean un problema. CAPÍTULO IV RESUMEN En este capítulo daremos a conocer como es el funcionamiento de las diferentes bases de datos que la aplicación tiene en uso, esto es el caso de las bases de datos EASY y PL, estas

Más detalles

Que es el CopV? Todo esto y mucho más es posible si utiliza nuestro sistema CopV en la red de su empresa o negocio!!

Que es el CopV? Todo esto y mucho más es posible si utiliza nuestro sistema CopV en la red de su empresa o negocio!! Que es el CopV? El CopV es un software de monitoreo en Redes producido por nuestra empresa, usted puede monitorear desde cualquier PC las actividades de todas las demás computadoras de la red de su empresa

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Índice de contenido. Manual de administración de hospedaje para administradores de dominios

Índice de contenido. Manual de administración de hospedaje para administradores de dominios Índice de contenido 1. Webmin...2 1.1 Cambio de idioma y tema...2 2. Otros...3 2.1 Cargas y descargas...3 2.2 Conexión Telnet / SSH...4 2.3 Directorios Web Protegidos...5 2.4 Administrador de archivos...6

Más detalles

Índice: Tema 4.2 4.2 Conexión con Bases de Datos

Índice: Tema 4.2 4.2 Conexión con Bases de Datos Índice: Tema 4.2 4.2 Conexión con Bases de Datos 4.2.1 Envío y recepción de datos mediante formularios 4.2.2 Administración de MySQL con phpmyadmin 4.2.3 Conexión con Bases de Datos desde PHP Índice: Tema

Más detalles

SISTEMA DE RASTREO Y MARCADO ANTIRROBO

SISTEMA DE RASTREO Y MARCADO ANTIRROBO Enlaces - Centro de Educación y Tecnología SISTEMA DE RASTREO Y MARCADO ANTIRROBO DESCRIPCIÓN Y MANUAL DE USO SOFTWARE RASTREO PC IMPORTANTE En caso de robo de un computador, y para su posterior recuperación,

Más detalles

CAPÍTULO 2: SISTEMAS DE DETECCIÓN DE INTRUSOS

CAPÍTULO 2: SISTEMAS DE DETECCIÓN DE INTRUSOS Capítulo 2 Sistemas de Detección de Intrusos 7 CAPÍTULO 2: SISTEMAS DE DETECCIÓN DE INTRUSOS En este capítulo se definen los sistemas de detección de intrusos y su relación con los ataques basados en el

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

Sage CRM. 7.2 Guía de autoservicio

Sage CRM. 7.2 Guía de autoservicio Sage CRM 7.2 Guía de autoservicio Copyright 2013 Sage Technologies Limited, editor de este trabajo. Todos los derechos reservados. Quedan prohibidos la copia, el fotocopiado, la reproducción, la traducción,

Más detalles

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1 MANUAL DE USUARIO Webservice simple para la exportación rápida de información proveniente de una base de datos Versión 0,1,1 Jorge Iván Meza Martínez INTRODUCCIÓN Esta aplicación permite

Más detalles

DIPLOMADO EN BASE DE DATOS

DIPLOMADO EN BASE DE DATOS Universidad Tecnológica de Panamá Facultad de Ingeniería de Sistemas Computacionales Vicedecanato de Investigación Post Grado y Extensión Academia de Especialización Profesional ACADEMIA DE ESPECIALIZACION

Más detalles

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO INNOVATIVA CENTRO DE TRANSFERENCIA Y DESARROLLO TECNOLÓGICO ESPE CECAI Capacitación Virtual La mejor opción para su crecimiento profesional

Más detalles

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS Introducción 3 GESTIÓN DE MEMORIA 3 Memoria Dinámica 4 Memoria predefinida 5 Áreas especiales de memoria 5 GESTIÓN DE ALMACENAMIENTO

Más detalles

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador Prefacio 1. Objetivos de este libro 13 2. Principales temas tratados en este libro 13 3. A quién va dirigido este libro? 14 4. Requisitos 14 Introducción a MySQL 1. Introducción a las bases de datos relacionales

Más detalles

Capítulo 4.- Recomendaciones para un Servidor web y de bases de datos seguro.

Capítulo 4.- Recomendaciones para un Servidor web y de bases de datos seguro. Capítulo 4.- Recomendaciones para un Servidor web y de bases de datos seguro. Este capítulo explica las características que un servidor web y de bases de datos seguro debe tener. Esto es esencial para

Más detalles

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

Más detalles

FileMaker 12. Guía ODBC y JDBC

FileMaker 12. Guía ODBC y JDBC FileMaker 12 Guía ODBC y JDBC 2004-2012 FileMaker, Inc. Reservados todos los derechos. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker y Bento son marcas comerciales de

Más detalles

Seguridad. Estos son algunos de los elementos de alta tecnología que BANCOLOMBIA utiliza para garantizar la seguridad en sus transacciones:

Seguridad. Estos son algunos de los elementos de alta tecnología que BANCOLOMBIA utiliza para garantizar la seguridad en sus transacciones: Seguridad Su información está segura en BANCOLOMBIA En BANCOLOMBIA nos hemos propuesto asegurar la confidencialidad, disponibilidad e integridad de la información, uno de nuestros recursos más valiosos.

Más detalles

Trabajo elaborado para el área de Gestión de Redes y Datos

Trabajo elaborado para el área de Gestión de Redes y Datos WINDOWS ESSENTIALS David Stiven Monsalve Juan Pablo Franco Marcela Aguirre Sebastián Cardona FICHA: 625354 Trabajo elaborado para el área de Gestión de Redes y Datos Alejandro Gómez Martínez Ingeniero

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

BROWSERSQL VERSIÓN 3.1 TUTORIAL

BROWSERSQL VERSIÓN 3.1 TUTORIAL TUTORIAL LAURA NOUSSAN LETTRY (MENDOZA, ARGENTINA 2011) ÍNDICE CONTENIDOS PÁGINA Introducción 2 Características Funcionales 2 Área de Conexión 3 Área de Ejecución de Sentencias 4 En qué se basa su funcionamiento

Más detalles

New Generation. Secure your Network. Totally Reloaded. www.hauri-la.com

New Generation. Secure your Network. Totally Reloaded. www.hauri-la.com New Generation Secure your Network Totally Reloaded www.hauri-la.com Menos Trabajo + Protección Completa Más Características Simplifica tus tareas administrativas a través del Administrador del Historial

Más detalles

Ataques a Aplicaciones de Bases de Datos

Ataques a Aplicaciones de Bases de Datos Ataques a Aplicaciones de Bases de Datos Esteban Martínez Fayó Argeniss (www.argeniss.com) ekoparty security conference Noviembre 2007 Buenos Aires, Argentina Agenda Introducción a la seguridad en Bases

Más detalles

I. E. S. Cristóbal de Monroy. DEPARTAMENTO: Informática. MATERIA: Aplicaciones Web. NIVEL: 2º Sistemas Microinformáticos y Redes

I. E. S. Cristóbal de Monroy. DEPARTAMENTO: Informática. MATERIA: Aplicaciones Web. NIVEL: 2º Sistemas Microinformáticos y Redes DEPARTAMENTO: Informática MATERIA: Aplicaciones Web NIVEL: 2º Sistemas Microinformáticos y Redes 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo Según

Más detalles

Capítulo 2.- Vulnerabilidades en aplicaciones web.

Capítulo 2.- Vulnerabilidades en aplicaciones web. Capítulo 2.- Vulnerabilidades en aplicaciones web. En este capítulo se explican algunas vulnerabilidades en aplicaciones web que pueden ser explotadas por software o por personas malintencionadas y como

Más detalles

Capítulo 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes

Capítulo 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes Capítulo 4: Diseño de la solución basada en software 4.1 Diseño general del sistema y especificaciones de los componentes El sistema constará de tres elementos fundamentales: los clientes, el punto de

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL UNIVERSIDAD NACIONAL DE INGENIERÍA Convirtiendo Excel en una herramienta de BI CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

SEGURIDAD INFORMÁTICA 2º SISTEMAS MICROINFORMÁTICOS Y REDES 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA

SEGURIDAD INFORMÁTICA 2º SISTEMAS MICROINFORMÁTICOS Y REDES 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA 2ª evaluación 1ª evaluación DEPARTAMENTO MATERIA CURSO INFORMÁTICA SEGURIDAD INFORMÁTICA 2º SISTEMAS MICROINFORMÁTICOS Y REDES 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA - Conocer las diferencias

Más detalles

Implantación de Aplicaciones Web Fecha: 20-09-13

Implantación de Aplicaciones Web Fecha: 20-09-13 Página 1 de 24 RESUMEN DE LA PROGRAMACIÓN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED CURSO AC. 2012 / 2013 ÁREA / MATERIA / MÓDULO PROFESIONAL Implantación de Aplicaciones Web (84 horas 4 horas semanales)

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Web: Ataque y Defensa. my kung fu is stronger than yours, The lone Gunmen

Web: Ataque y Defensa. my kung fu is stronger than yours, The lone Gunmen Web: Ataque y Defensa. my kung fu is stronger than yours, The lone Gunmen Web: Ataque y defensa Introducción. Cross Site Scripting (XSS). SQL Injection. Programador? quien yo?. Ataques NG. Prevención.

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA Estudio de las herramientas TOAD y DBArtisan para la administración e integración de bases de datos relacionales. PREVIA OPCION AL TÍTULO DE: INGENIERO

Más detalles

MAESTRO DE PHP PHP NIVEL 1

MAESTRO DE PHP PHP NIVEL 1 MAESTRO DE PHP MAESTRO DE PHP es el curso más completo diseñado para que aprendas desde 0 hasta poder desarrollar aplicaciones robustas utilizando Frameworks. Incluye los Cursos PHP Nivel 1 y PHP Avanzado

Más detalles

Modulo VI - Base de datos en Microsoft SQL Server Unidad -1

Modulo VI - Base de datos en Microsoft SQL Server Unidad -1 Unidad 1 MODULO VI Microsoft SQL Server Es un sistema para la gestión de bases de datos creado por Microsoft, el mismo se basa en el modelo relacional. Sel Server utiliza como lenguajes de consulta T-SQL

Más detalles

Parte 3 - Consultas SQL + Servicios Web + Índices

Parte 3 - Consultas SQL + Servicios Web + Índices Parte 3 - Consultas SQL + Servicios Web + Índices 12450 Estructuras de Datos y de la Información 2 Prácticas Laboratorio - Curso 2008-2009 3.1 Consultas SQL: Ernesto Arroyo Jesús Bisbal Philippe Roussel

Más detalles

Tema 1. Conceptos básicos

Tema 1. Conceptos básicos Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

PHP 5.6 Desarrollar un sitio web dinámico e interactivo

PHP 5.6 Desarrollar un sitio web dinámico e interactivo Introducción 1. Objetivo del libro 9 2. Breve historia de PHP 10 3. Dónde conseguir PHP? 10 4. Convenciones de escritura 11 Información general sobre PHP 1. Qué es PHP? 13 2. Estructura básica de una página

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

Bonsai: consulta web del catálogo de la biblioteca

Bonsai: consulta web del catálogo de la biblioteca Bonsai: consulta web del catálogo de la biblioteca Manual de instalación, configuración y uso Versión 4.0 Agosto 2008 Fernando Posada http://www.canaltic.com Índice 1. Qué es Bonsai?... 3 2. Requisitos

Más detalles

Cómo abrir la base de datos de Aspel-SAE 5.0?

Cómo abrir la base de datos de Aspel-SAE 5.0? Cómo abrir la base de datos de Aspel-SAE 5.0? 1 Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde la

Más detalles

Antivirus PC (motor BitDefender) Manual de Usuario

Antivirus PC (motor BitDefender) Manual de Usuario Antivirus PC (motor BitDefender) Manual de Usuario Índice 1. Introducción... 3 2. Qué es Antivirus PC?... 3 a. Eficacia... 3 b. Actualizaciones... 4 3. Requisitos técnicos... 4 a. Conocimientos técnicos...

Más detalles

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com DISEÑO, DESARROLLO E IMPLANTACIÓN DE UNA APLICACIÓN WEB PARA LA AUTOMATIZACIÓN DE LA INFORMACIÓN DE LA IGLESIA EVANGÉLICA INDÍGENA ECUATORIANA DE LA ALIANZA CRISTIANA Y MISIONERA. Javier Velásquez Maldonado

Más detalles