Seguridad en Aplicaciones Web

1,615 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Seguridad en Aplicaciones Web

  1. 1. Seguridad en aplicaciones web Carlos Fernández @C4Fdez
  2. 2. Aplicaciones web! SALUD FINANZAS DEFENSA ENERGIA SCADA SOFTWARE ¿ES SEGURO?
  3. 3. ¿Riesgos de seguridad web?
  4. 4. Aprender ….. ¿En donde? <ul><li>Elección: </li></ul><ul><li>Sentarnos frente el computador y probar cada página web de SONY , para una vez encontrados los fallos, arriesgarnos a que nos detecten, contraataquen y nos metan entre rejas. </li></ul><ul><li>Juguetear en un entorno controlado y cerrado sobre una aplicación web repleta de vulnerabilidades a la que, si logramos entrar hasta la cocina, no tendrá repercusiones legales. </li></ul>
  5. 5. BadStore <ul><li>.iso de 12 MB. </li></ul><ul><li>Sistema Linux (Trinux) live. </li></ul><ul><li>Vulnerabilidades web. </li></ul><ul><li>Mínimo 400Mhz CPU. </li></ul><ul><li>Mínimo 64 MB RAM. </li></ul><ul><li>GNU open source software </li></ul>http://www.badstore.net/
  6. 6. Top 10 de vulnerabilidades en aplicaciones web (según OWASP 2010)
  7. 7. = MITM
  8. 8. <ul><li>Mostrar sólo enlaces y opciones de menú autorizados </li></ul><ul><li>Control de acceso a la capa de presentación </li></ul><ul><li>El atacante simplemente arma el acceso directo a la página &quot;no autorizada&quot; </li></ul>
  9. 9. <ul><li>La falta de protección adecuada de los datos en uno o todos los lugares. </li></ul><ul><li>Bases de datos, archivos, directorios, archivos de registro, copias de seguridad, etc. </li></ul><ul><li>Mecanismos inseguros con los datos sensibles </li></ul><ul><li>Demandas y/o multas a la organización </li></ul>
  10. 10. <ul><li>Su manejo de errores ayuda a prevenir los mensajes de error con información sensible? </li></ul><ul><li>¿Tiene un proceso para mantener todo su software al día? </li></ul><ul><li>Está la seguridad incluida en los parámetros de desarrollo? </li></ul><ul><li>Robots.txt </li></ul><ul><li>Error Information disclosure </li></ul>
  11. 11. <ul><li>Los principales activos a proteger son las credenciales de identificación e inicio de sesión. </li></ul><ul><li>¿Hay tiempo de vigencia de la sesión? </li></ul><ul><li>¿Los usuarios pueden salir correctamente? </li></ul><ul><li>Perfiles: Usuarios, Proveedores y Administradores </li></ul><ul><li>Acciones: Cambiar contraseña, recuperar contraseña </li></ul>
  12. 12. <ul><li>Permitir ejecutar código de «scripting» en el contexto del sitio web. </li></ul><ul><li>Presenta la información en el navegador web. </li></ul><ul><li>Puede estar presente de forma persistente o reflejada. </li></ul><h1>Mensaje de titulo</h1> <script>alert(“XSS”)</script> <script type=&quot;text/javascript&quot;> window.location=&quot;http://www.google.com/&quot;</script>
  13. 13. XSSV tipo BeEF 1. XSS 2. Acceso A la Web 3. Script Malicioso 4. Acceso a Web atacante 5. GET /BeEF/command.php 6. Acciones a realizar 7. Confirma realización
  14. 14. ' or 1= 1 -- ' or '1'= '1 # ' or 1=1 limit 1,1 -- <ul><li>El atacante envía texto que se aprovecha de la sintaxis del intérprete de destino.  </li></ul><ul><li>Casi cualquier fuente de datos puede ser un vector de la inyección. </li></ul><ul><li>Las fallas de inyección se producen cuando una aplicación envía los datos no confiables a un intérprete ( SQL, LDAP, Xpath , etc). </li></ul><ul><li>Las fallas de inyección son muy frecuentes! </li></ul><ul><li>Ataques inbound, outbound </li></ul><ul><li>Ataques a ciegas </li></ul><ul><li>Una comilla ‘ </li></ul><ul><li>Una condicion verdadera (1=1) </li></ul>
  15. 15. <ul><li>La seguridad no deberá basarse en lo que las situaciones te hagan creer, si quieres estar seguro confronta a las situaciones y afirma cuan seguro estás. </li></ul>@C4Fdez Carlos Fernández

×