Subido por Javier Gimenez Campos

inyecciondecodigo-130528130302-phpapp01

Anuncio
Inyección de Código
Integrantes de equipo
• Federico Hernández González
• Guadalupe Esparza López
• Carlos Morales de Jesús
• Eugenio Reyes Esteban
• Marcos Amador Valdivia
• Javier Serna Gutiérrez.
Grado y Grupo: 9 A
Prof. Luis Alberto Ruiz Aguilar.
20/05/2013 Zacualtipán de Ángeles Hidalgo
•
•
•
•
•
•
•
Introducción
Tipos de inyección de código
Ejemplos de ataques
Ejemplo 1
Ejemplo 2
Evitar la inyección de código
Conclusión
• La inyección de código es un tipo de ataque
que consiste en que los atacantes extraigan
información, roben credenciales, tomen control
de la página atacada o algún otro tipo de
actividades maliciosas.
• La inyección SQL consiste en la modificación
de las consultas a nuestra base de datos a
partir de los parámetros pasados por URL al
script en PHP.
• Las inyecciones pueden ocurrir siempre
que un lenguaje de programación
intermedio como PHP procesa datos
recibidos por el usuario para generar
código en otro lenguaje como SQL o
HTML
• El problema de las inyecciones no se limita al SQL;
existen numerosos tipos de inyecciones de código,
entre ellas:
– SQL
– HTML
– Javascript
– Embed
– Email
• Además de cierto tipo de inyecciones que no son de
código pero pueden afectar, por ejemplo, al sistema
de archivos.
• Obtención de la base de datos completa
usando sentencias SELECT
• Modificación o inserción de datos usando
INSERT o UPDATE
• Borrado de la base de datos usando
DELETE
• Ejecución de comandos del sistema
operativo usando EXEC
master.dbo.xp_cmdshell por ejemplo, el
valor de pass sería pass=hack' EXEC
master.dbo.xp_cmdshell'cmd.exe dir c:'-• Apagado remoto del
servidor pass=hack' EXEC
master.dbo.xp_cmdshell'cmd.exe
shutdown'--
$usuario=$_POST[’usuario’];
$password=$_POST[’password’];
$sql=”SELECT * FROM usuarios WHERE
usuario=’$usuario’ AND password=’$password’”;
$result=mysql_query($sql);
SELECT * FROM usuarios WHERE usuario=’a’ AND password=’a’ OR ‘1=1′
• Captchas
– Es una prueba utilizada para comprobar que
el usuario es una persona y no una máquina.
Se utilizan para impedir que se pueda tener
acceso a la función de un script de forma
automática.
• Bloquear todos los caracteres especiales que no
sean letras ni números.
• Validación de formularios
• Las contraseñas sean numéricas
Las inyecciones de código pueden
representar un problema potencial
para los sistemas que realizamos,
por eso es muy importante
enfocarse en la seguridad cuando
se desarrolla un proyecto.
Referencias.
• Astaroth7. (s.f.). Introduccion a la Inyeccion de codigo. Obtenido de
2010:
http://foro.elhacker.net/programacion_cc/introduccion_a_la_inyeccio
n_de_codigo-t262600.0.html
• Cortes, R. (s.f.). Inyecciones SQL. Recuperado el 2011, de
http://www.romancortes.com/blog/tag/seguridad/
• (2009). Como Realizar Un SQL Injection **Principiante**,
http://www.youtube.com/watch?v=-tbNxhvWl7g
• (2011). SQL Inyeccion Basica Para Novatos,
https://www.youtube.com/watch?v=aAOv2NCvaec
Descargar