elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  inyeccion SQL y como evitarla....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: inyeccion SQL y como evitarla....  (Leído 6,956 veces)
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
inyeccion SQL y como evitarla....
« en: 16 Febrero 2012, 22:42 pm »

Como puedo saber si mi pagina tiene inyeccion SQL y como  puedo hacer para evitarlo??

Es decir como puedo dar algo mas de seguridad a mi web y ponerlo algo mas dificil?

Gracias a todos.



En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: inyeccion SQL y como evitarla....
« Respuesta #1 en: 16 Febrero 2012, 23:16 pm »

Bueno, si no filtras los datos que recibes en las consultas

Por ejemplo:

Código
  1. $result = mysql_query("SELECT * FROM usuarios WHERE nombre='".$_GET['nombre']."'");

O lo filtras de manera cutre
Ejemplo:
Código
  1. $_GET['nombre'] = str_replace('OR 1=1','',$_GET['nombre']);

Seguramente tendrás un sqli.

Para evitarlo puedes hacer uso de funciones como
Código
  1. mysql_real_escape_string($_GET['nombre']);

Y otras cosas como por ejemplo, si sabes que vas a recibir una variable numerica (entero), usar (int) que convierte cualquier carácter a entero.
Ejemplo:
Código
  1. $_GET['valor'] = (int)$_GET['valor'];


Saludos


En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #2 en: 17 Febrero 2012, 00:01 am »

Y... Claro... xDDD Tengo que revisarme toooooooooooooooooodo el codigo.... xD

pfffffffffffff....
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: inyeccion SQL y como evitarla....
« Respuesta #3 en: 17 Febrero 2012, 14:08 pm »

Y... Claro... xDDD Tengo que revisarme toooooooooooooooooodo el codigo.... xD

pfffffffffffff....

O haces eso o cada mes al sitio te lo tumban abajo por algún grupo de arabia saudita.
En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #4 en: 17 Febrero 2012, 22:34 pm »

O haces eso o cada mes al sitio te lo tumban abajo por algún grupo de arabia saudita.

Tambien podria crear otro archivo llamado nose anti.php, algo asi:

Código
  1. <?php
  2. foreach($_POST as $k => $v)
  3. {
  4.    $_POST[$k] = mysql_real_escape_string($v);
  5. }
  6.  
  7. foreach($_GET as $k => $v)
  8. {
  9.    $_GET[$k] = mysql_real_escape_string($v);
  10. }
  11.  

Y ya si su pagina principal incluye a las otras como modulos o asi puede poner en su pagina principal un
include_once("anti.php");
y ya, sino agregar eso a cada pagina y ya con eso podria funcionar n_n (creo hehehe)
En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #5 en: 19 Febrero 2012, 11:07 am »

No es mala idea ^^ Me gusta esa propuesta :D

Tambien podria pasar el codigo por aqui xD

Y tanto se aburren los de arabia?
En línea

K1ll1ng M4ch1n3

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #6 en: 19 Febrero 2012, 12:54 pm »

Una vez que hayas escapado las variables para evitar las inyecciones, puedes usar SqlMap para verificar que la página ya no es vulnerable.

Tienes un tutorial básico en http://amperis.blogspot.com/2008/11/rulando-sqlmap.html

Saludos.
En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #7 en: 20 Febrero 2012, 00:47 am »

Perfecto eso queria... Saber si habia algun scaner "fiable" ;)

Muchas gracias !! :D

EDITO:

Me da esto:

[01:03:42] [WARNING] User-Agent parameter 'User-Agent' is not dynamic
[01:03:43] [WARNING] Cookie parameter 'PHPSESSID' is not dynamic
[01:03:47] [WARNING] GET parameter 'cat' is not injectable with 0 parenthesis
[01:03:49] [WARNING] GET parameter 'cat' is not injectable with 1 parenthesis
[01:03:53] [WARNING] GET parameter 'cat' is not injectable with 2 parenthesis
[01:03:55] [WARNING] GET parameter 'cat' is not injectable with 3 parenthesis

  • shutting down at: 01:03:55
« Última modificación: 20 Febrero 2012, 01:06 am por nobo » En línea

Zomtrixbiesroot

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #8 en: 22 Febrero 2012, 02:51 am »

Amig@s perdón que me meta en el tema pero estoy metiéndome en la POO y de paso en la seguridad en php :D

entonces leyendo el tema me intereso saber que hace mysql_real_escape.

yo tengo esta consulta:

$sql = "select * from noticias where id_noticia=".mysql_real_escape_string($_GET['id']);

Ahi que estaria evitando?

Cuando es recomendable usar dicha función y que hace?
En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: inyeccion SQL y como evitarla....
« Respuesta #9 en: 22 Febrero 2012, 09:44 am »

Para filtrar los datos que se reciben.

O eso creo
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como seguir Con la inyeccion SQL
Nivel Web
MagnoBalt 3 4,077 Último mensaje 26 Agosto 2008, 23:42 pm
por MagnoBalt
Inyeccion sql (mysql) Pasa x alto la inyeccion
Nivel Web
Littl3 3 6,583 Último mensaje 5 Marzo 2009, 22:56 pm
por pedrox@
como evitar la inyeccion sql
Nivel Web
CICOLO_111234 2 10,758 Último mensaje 20 Abril 2009, 01:02 am
por WHK
Infección, cómo evitarla?
Seguridad
adgellida 2 3,693 Último mensaje 29 Abril 2010, 15:53 pm
por skapunky
¿cómo evitar inyección sql en php? « 1 2 »
PHP
kinos 10 13,979 Último mensaje 11 Octubre 2010, 23:27 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines