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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  como puedo cifrar mi base de datos y a la vez tener seguridad sql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: como puedo cifrar mi base de datos y a la vez tener seguridad sql  (Leído 7,314 veces)
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
como puedo cifrar mi base de datos y a la vez tener seguridad sql
« en: 17 Noviembre 2012, 18:04 pm »

mysql_real_escape_string sea a actualizado no¿¿? xk ahora cifra los datos que pasa pero no los puedo guardar en la base de datos que hago, aqui os paso el codigo con el mysql_real_escape_string comentado sino no me funciona y no loguea el usuario "SERGIO":

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];

/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
$pass=mysql_real_escape_string($pass);


$cifrad=hash('sha512','$pass');

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if($fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'];
}

if($correcto==0)
{
echo "No entras";
unset($_SESSION['usuario1']);
unset($_SESSION['contrasena']);

}

mysql_close($conexion);
?>

Código:
--
-- TABLA Administradores
--

CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
usuario1 VARCHAR(200) NOT NULL,
contrasena VARCHAR(200) NOT NULL,
adminemail VARCHAR(200) NOT NULL,
usuario VARCHAR(20),
CONSTRAINT PKUSUA PRIMARY KEY (cod_admin),
CONSTRAINT adminunica1 UNIQUE(usuario1),
CONSTRAINT adminunica11 UNIQUE(usuario)
) ENGINE=InnoDB;

NECESITO contra sql injection y cifrar la base de datos con algun algoritmo recursivo*.


En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #1 en: 17 Noviembre 2012, 19:40 pm »

E RECTIFICADO Y X CIERTO MYSQL_REAL_ESCAPE_STRING esta totalmente descartado da errores:

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];

/*$dato=12345;
if (strlen($dato)<1 || strlen($dato)>15)
{
      echo  " El limite del dato es de 15 caracteres<br>";
      return false;
   }
   echo $dato;*/
/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
/*$pass=mysql_real_escape_string($pass);*/


$cifrad=hash('sha512',$pass);
echo $cifrad;
}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if($fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'];
}

if($correcto==0)
{
echo "No entras";
unset($_SESSION['usuario1']);
unset($_SESSION['contrasena']);

}

mysql_close($conexion);
?>


En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #2 en: 17 Noviembre 2012, 20:15 pm »

estoy haciendo mi codigo pero nose si ando bien, comenten algo sobre la lista blanca xk parece que eso es lo que me falla ahora solo. ademas necesito algun array o algo para no repetir codigo como lo podria hacer tambien en lo de longitud de caracateres, gracias haber si sale algun experto en arrays o algo de esto,porque sino tendria x cada campo que repetir codigo y eso es mucho codigo:

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (strlen($usuario)<8 || strlen($usuario)>15)
{
      echo  " El limite esta entre 8 y 15 caracteres<br>";
      return false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_ @#";
   for ($i=0; $i<strlen($usuario); $i++){
      if (strpos($validos, substr($usuario,$i,1))===false){
         echo  " Contiene caracteres no permitidos<br>";
                                    return false ;        
        
      }
   }
   return true;


/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
/*$pass=mysql_real_escape_string($pass);*/


/*$cifrad=hash('sha512',$pass);*/

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if($fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'];
}

if($correcto==0)
{
echo "No entras";
unset($_SESSION['usuario1']);
unset($_SESSION['contrasena']);

}

mysql_close($conexion);
?>
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #3 en: 18 Noviembre 2012, 11:44 am »

No doble postees por favor, existe un botón que es el de editar mensaje ;).

Lo primero que te puedo decir así viéndolo por encima es que no uses la extensión mysql, usa la extensión mysqli.
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #4 en: 18 Noviembre 2012, 17:46 pm »

xk mysqli?¿ y si tengo un proyecto echo en mysql que pasaria¿?
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #5 en: 18 Noviembre 2012, 20:40 pm »

Nada, simplemente te ira más lento, estas usando estándares desaconsejados... y quien sabe que si en una futura actualización de PHP eliminen esa extensión y te toque reescribir el código entero xD.
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #6 en: 18 Noviembre 2012, 20:56 pm »

es decir que tendria que cambiar de mysql todas mysql_connect,mysql_select_db, etc dices¿¿¿?
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #7 en: 18 Noviembre 2012, 21:05 pm »

Sip,

http://www.php.net/manual/es/mysqlinfo.api.choosing.php
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #8 en: 18 Noviembre 2012, 21:33 pm »

tu con cual trabajas¿? y los archivos php.ini etc, actuan bien¿?
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: como puedo cifrar mi base de datos y a la vez tener seguridad sql
« Respuesta #9 en: 19 Noviembre 2012, 17:11 pm »

es decir que tendria que cambiar de mysql todas mysql_connect,mysql_select_db, etc dices¿¿¿?

yo quede con la misma duda. :silbar:
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines