Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

probar mi seguridad mysql Injection

Estas en el tema de probar mi seguridad mysql Injection en el foro de Mysql en Foros del Web. hola a todos tengo una duda de mi proyecto php mysql he estado navegando y encontre que hay formas de bugnerar la seguridad de unproyecto ...
  #1 (permalink)  
Antiguo 27/10/2011, 08:27
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
probar mi seguridad mysql Injection

hola a todos

tengo una duda de mi proyecto php mysql

he estado navegando y encontre que hay formas de bugnerar la seguridad de unproyecto php mysql Injection

la duda es como bugnerar mediante Injection

en alguno de los ejemplos viene que si usas un buscador normal

y si escrives una sentencia mysql sabiendo como se llaman los campos de latabla

puedes hacer modificaciones


por ejemplo

en mi buscador de empleados se busca por id de empleado que puse como texto no como autoincrement


puse en el buscador una sentencia para modificar de la tabla cuentas

mi propia clave pero no se si lo hice mal

porque como resultado me dice

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in on line 11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in on line 13

alguno me podria decir algun ejemplo funcional de mysql injecction

gracias
  #2 (permalink)  
Antiguo 27/10/2011, 09:08
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: probar mi seguridad mysql Injection

pude hacer lo siguiente

en un buscador que tengo me busca emploados segun su id

proceso normal

introducir id empleado
extrae solo el emplado con ese id


proceso de inyeccion

enves de el id introduci

' OR 1 = 1 /*


y me imprime todos los empleados de la base de datos
  #3 (permalink)  
Antiguo 27/10/2011, 09:42
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: probar mi seguridad mysql Injection

con esta otra
' OR ''='

lo puse solo en el campo de la clave y me hace conecta con todos los usuarios existentes y me da acceso a la pagina
  #4 (permalink)  
Antiguo 27/10/2011, 09:51
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: probar mi seguridad mysql Injection

' OR ''='

solo funciona si hcieron las conexiones manuales

si esta echa en con asistente no funciona
  #5 (permalink)  
Antiguo 27/10/2011, 11:43
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 13 años, 2 meses
Puntos: 48
Respuesta: probar mi seguridad mysql Injection

tienes que activar las magic_quotes en el archivo php.ini

magic_quotes_gpc = On

haci evitas que ingresen comillas porque las transforma a \'

y si quieres saber si tu web es vulnerable puedes bajar acunetix 7 que examina todas las vulnerabilidades posibles de tu web
  #6 (permalink)  
Antiguo 27/10/2011, 12:11
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 14 años, 2 meses
Puntos: 91
Respuesta: probar mi seguridad mysql Injection

Rodrhigo con todo respeto pegate unos cuantos latigazos en la espalda por loque acabas de decir xD!
no, es broma.

desde PHP 5.3 las magic_quotes fueron deprecadas y de hecho se desaconseja su uso porque más que prevenir vulnerabilidades te crea una nueva.

bueno poniéndome en linea con el tema.

Melecio, hay varias formas de asegurar una buena validación y disminuir vulnerabilidades sobre todo de datos que son enviados por el usuario (hay algunos que se ponen peligrosos cuando les ponen un teclado al frente, se parecen a Dee Dee de el laboratorio de dexter)

Lo primero que aconsejaría yo es dejar de utilizar el método mysql_* para conectarse a bases de datos, de hecho se estima que estás funciones quedarán deprecadas en futuras versiones de PHP, yo aconsejaría utilizar PDO para conectarse a cualquier motor de base de datos (soportado) ya que además con esto tienes la ventaja de que puedes hacer consultas con prepared statement dejando a PDO conseguir la mejor manera de validar tu información a través de bindParams y bindValues.

Para adentrarte un poco podrías buscar en el foro o en Google como realizar conexiones a MySQL usando PDO, y después que ya tengas una noción te recomiendo seguir por acá:

http://php.net/manual/en/book.pdo.php

y conocer todas las funcionalidades que te provee esta librería de PHP.


Espero te sirva :) saludos.
  #7 (permalink)  
Antiguo 27/10/2011, 21:13
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 13 años, 2 meses
Puntos: 48
Respuesta: probar mi seguridad mysql Injection

:O
toda la razón!.
yo estaba haciendo el medio proyecto y con las magi_quotes activadas pero leyendo un poco vi se aconseja hacer un limpiado en tiempo de ejecución. :(
gracias por la info Ribon.
http://www.php.net/manual/es/security.magicquotes.php
  #8 (permalink)  
Antiguo 28/10/2011, 06:06
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 14 años, 2 meses
Puntos: 91
Respuesta: probar mi seguridad mysql Injection

Melecio, te recomiendo a modo de introducción leerte lo básico que puede ayudarte mucho

acá el enlace a la documentación de seguridad en base de datos en PHP

http://www.php.net/manual/es/security.database.php

Saludos.
  #9 (permalink)  
Antiguo 02/11/2011, 08:20
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: probar mi seguridad mysql Injection

gracias a todos por su tiempo si me sirvieron los manuales gracias

Etiquetas: campos, injection, php, probar, seguridad, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.