Hackear un Sitio Web. Claudio

Slides:



Advertisements
Presentaciones similares
Presentación – Web Attack
Advertisements

Instalación de wordpress
1 | Web Attacks Documentación – Web Attack. 2 | Web Attacks Seguridad en Aplicaciones Web Protocolo HTTP Vulnerabilidad XSS Vulnerabilidad CSRF Path Traversal.
Curso de PHP Tema 5: Sesiones.
1 | Web Attacks Documentación – Web Attack. 2 | Web Attacks Seguridad en Aplicaciones Web Protocolo HTTP Vulnerabilidad XSS Vulnerabilidad CSRF Path Traversal.
MY NCBI (módulo 4.5). MODULO 4.5 PubMed/ ¿Cómo utilizar MY NCBI? Instrucciones – Esta parte del: Esta parte del curso es una presentación PowerPoint que.
Desarrollo de aplicaciones seguras con.NET David Carmona División de Desarrolladores y Plataforma Microsoft Ibérica.
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Lenguaje PHP Capítulo 4.
CI-2413 Desarrollo de Aplicaciones para Internet
DESCRIPCION DEL SERVICIO LOGIN (Identificación de Usuario)
Defensa contra ataques web comunes
ADMINISTRACION DE REDES SECUENCIA DE COMANDOS EN SITIOS CRUZADOS(XSS)
Errores comunes al desarrollar websites
Acceso a bases de datos MySQL en PHP
Desarrollo de Aplicaciones para Internet
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
CASO PRÁCTICO. Descarga de la declaración Dar clic en este link para generar el Formulario de la declaración.
Desarrollo de Aplicaciones para Internet
Consultas anidadas.
ACCESO A BASES DE DATOS ORACLE CON PHP
Curso de PHP Tema 6: Seguridad.
Tema 2: Lenguaje PHP básico
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 4: Seguridad y Aplicaciones Web Ing. A. Lorena Ruhl Universidad Tecnológica.
YII (Yes It Is!) – Php Framework
UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.
Desarrollo de sitios web con PHP y MySQL Tema 7: Seguridad José Mariano González Romano
PROGRAMACION ORIENTADA A OBJETOS II
DESARROLLO DE APLICACIONES
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones José Mariano González Romano
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela.
WEB VULNERABLE DVWA Universidad de Almería
The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Lenguajes de programación Web
Metodología para la Auditoría de Seguridad en Aplicaciones Web
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
Top 25 errores de la programación
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Mejorar la gestión del vacio 1Prácticas EDI - © Juan Ramón Pérez.
Instituto Tecnológico Superior de Nochistlán División Académica Ingeniería en Sistemas Computacionales “Manejo de Seguridad en PHP: Aplicaciones Seguras”
UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001: Lucía Castro- Víctor Cabezas- Diana Checa UNIVERSIDAD ECOTEC Ataques Aplicaciones WEB Lucía Castro Víctor.
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
DESARROLLO DE APLICACIONES INALAMBRICAS USANDO JAVA Presentado por : Karlens Berra B. Francys J. Zambrano Ch. UCV.Facultad de Ciencias.Escuela de Computación.
WAF Web Application Firewalls
REFERENCIA DIRECTA INSEGURA A OBJETOS
Introducción a ataques de tipo inyección: Inyección SQL
Structured Query Language (Lenguaje Estructurado de Consultas)
Cristian Fonnegra Marin
Start End Login: enter username and password Correct Username? “The address or password is incorrect. Please try again.” Flowchart Hotmail Yes No.
TALLER WORDPRESS ISI JÉBER G. MARTÍNEZ. ¿Qué es Wordpress? Es un CMS Originalmente pensado para diarios digitales AKA Blog Es Open Source / Código Abierto.
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 3: Integración de PHP con Bases de Datos Ing. A. Lorena Ruhl Universidad.
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
Práctica Profesional PHP.
Secuencia de Comandos en Sitios Cruzados XSS
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
Integrantes: Giomara Delgado Miranda Miguel Villao Figueroa Juan Quiroz Asencio.
 Es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante.
OWASP APPSEC RIO DE LA PLATA dcotelo13
Usuarios. Colocar el servidor en el modo de autenticación Windows/SqlServer. En SQL Server Management Studio, click derecho, Propiedades en la Instancia.
U6 Ejercicios ¡¡¡¡PREPARANDO LA PEC1!!!!. ERRORES FRECUENTES EN test de 8/10/2015 Nombre de la función no muy bueno : debe ser ImprimeNombreMes o ImprimeMesEnLetra.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Php y mysql índice 1. Conexión 6. Ejercicio 5. Insertar un registro 2. Operaciones básicas 3. Seleccionar BD 4. Crear una BD P h p y m y s q l Índice 1.
Estado del Arte del Desarrollo Seguridad - Toba - Instalador Comité Técnico Consorcio SIU – Mayo 2009 Sebastián Marconi
Ataques XSS y CSRF CI-2413 Desarrollo de Aplicaciones para Internet.
Transcripción de la presentación:

Hackear un Sitio Web

Claudio

Seguridad WEB La seguridad Web NO es una característica, SON ACCIONES

Equipo de trabajo

Gran Hacker

Seguridad WEB Un problema en constante crecimiento

Seguridad WEB La seguridad debe de ser considerada todo el tiempo de desarrollo

Seguridad WEB Tipos de Ataques

SQL Injection

Primeros Pasos 1.Valores tipo ?id=3 indentificar 2.Concer columnas “-1 UNION SELECT ALL 1,2,3” 3.Versión Myslq “-1 UNION SELECT ALL 1, 4.Nombre Base “-1 UNION SELECT ALL 1,group_concat(table_name),3+from+information _schema.tables+where+table_schema=database( )”

SQL Injection Manos a la obra

SQL Injection 6.Final nombre de usuario “id=- 1+union+select+1,2,group_concat(' ',' Id: ',id,' User: ',usuario,' Pas: ', clave),4+from+administradores fuerza-bruta.html

SQL Injection ¿Dónde quedo mi BD?

SQL Injection Ejemplo Java conn = pool.getConnection( ); String sql = "select * from user where username='" + username +"' and password='" + password + "'"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()) { loggedIn = true; out.println("Successfully logged in"); } else { out.println("Username and/or password not recognized"); }

SQL Injection Ejemplo Python try: conn = MySQLdb.connect (host = "localhost”,user = "uname”, passwd = "pass”,db = "mydb") cursor = conn.cursor() = "' OR '1'='1" query = "SELECT * FROM user_info WHERE = '" + + "'" print query cursor.execute(query) if cursor.rowcount > 0: print cursor.fetchall() else: print "no item found" except MySQLdb.Error, e: print "Error %d: %s" % (e.args[0], e.args[1])

SQL Injection

Algunas soluciones o Validar datos antes de usarlos en el SQL dinámicos  is_int() is_long() gettype() o Usar PDO (PHP Data Objects) o Usar declaraciones parametrizadas MySQLi’s o Usar mínimo mysql_real_escape_string() o El uso de addslashes() no es suficiente.

Cross-site Scripting (XSS)

Algunas soluciones No confiar nunca en datos que obtengas de los usuarios o de cualquier fuente de datos Saneando los datos strip_tags($_POST['comentario']); Escapando los datos htmlspecialchars(); Las validaciones de datos de entrada, deben realizarse siempre del lado del servidor, no sólo en el lado del cliente

Cross Site Request Forgery (CSRF)

function verificar($form, $token, $delta_time=0) { // comprueba si hay un token registrado en sesión para el formulario if(!isset($_SESSION['csrf'][$form.'_token'])) { return false; } // compara el token recibido con el registrado en sesión if ($_SESSION['csrf'][$form.'_token']['token'] !== $token) { return false; } // si se indica un tiempo máximo de validez del ticket se compara la fecha actual con la de generación del ticket // if($delta_time > 0){ $token_age = time() - $_SESSION['csrf'][$form.'_token']['time']; if($token_age >= $delta_time){ return false; } return true; }

Cross Site Request Forgery (CSRF)

Recomendaciones para PHP

Recomendaciones Mantener CMS actualizado a la última versión Instalar solamente plugins y temas seguros Blinda la carpeta wp-admin o admin, o bien si puedes, fuerza la autentificación mediante SSL Revisar la sección de seguridad de ayuda del CMS para comprobar que has realizado todas las acciones de seguridad Suscribirte al feed de Ayuda del CMS para estar informado de las alertas de seguridad Reportar Errores al CMS Quitar todos los archivos CHANGELOG.txt y demás archivos.txt de los módulos que instalamos en nuestro sitio Poner un limite de intentos en el login.

Recomendaciones Generales No Confíes en Nadie

Recomendaciones Generales Piensa como ellos

Recomendaciones Generales Actualizate Siempre

Preguntas y Respuestas

¡¡¡¡Muchas Gracias!!!! Claudio Morales