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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Manera mas segura de guardar una clave en BD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Manera mas segura de guardar una clave en BD  (Leído 4,007 veces)
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Manera mas segura de guardar una clave en BD
« en: 27 Septiembre 2008, 16:32 pm »

Pues eso mismo, como guardo una clave en la BD. Sera con base64_decode($clave)
es decir:
$clave =base64_encode($_POST['txtpwd']);
$sql="insert into usuario values ('U001','$clave')";
mysql_query($sql);

Es segura esa forma ¿?
Y si no lo es, saber como.. xD

 ;D ;D ;D


En línea

Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Manera mas segura de guardar una clave en BD
« Respuesta #1 en: 27 Septiembre 2008, 20:24 pm »

depende que tan seguro


lo haria yo seria sacar el md5  y guardar el md5 cuando ingresen en el login le vuelves a sacar el md5 y si son iguales entonces fue la misma contraseña.


el problema de la encriptacion en base 64 es que la puedes volver a descifrar y que pasa que seria un riesgo hasta cierto punto


En línea

Desarrollar Malware Es Causa De Cancer...
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Manera mas segura de guardar una clave en BD
« Respuesta #2 en: 28 Septiembre 2008, 19:40 pm »

Una forma que yo utilizo es la siguiente:

Código
  1. $sql = "
  2. SELECT `estado` FROM `paginas`
  3. WHERE `id`
  4. LIKE CONVERT(_utf8 '".mysql_real_escape_string($_GET[$variable_std])."' USING latin1)
  5. COLLATE latin1_swedish_ci
  6. LIMIT 1;";

Para Ingresar carácteres normales dentro de una query, base64 si es una buena idea, es mas, así lo hice yo en mi sistema filemanager pero lo malo es que después si quieres modificar la base de datos o crear un buscador será muy dificil.

Código
  1. $sql = "
  2. SELECT `sección` FROM `paginas`
  3. WHERE `id`
  4. LIKE CONVERT(_utf8 '".(int)$_GET[$variable_num])."' USING latin1)
  5. COLLATE latin1_swedish_ci
  6. LIMIT 1;";

Al preestablecer (int) antepuesto a una variable o constante estás declarando que solo se aceptarán datos numéricos evitando también una inyección sql como por ejemplo index.php?id=-1+union+all+select+1,2,3...
Y cuando hago un Select y necesito una sola columna siempre termino en LIMIT 1 para evitar posibles fugas.

mysql_real_escape_string() Esta función te permite evitar inyecciones sql siempre y cuando el valor esté encerrado dentro de comillas ya que desde acá no podrás escapar con ningún tipo de carácter.
Ahora también es bueno eliminar los slashses que agrega el apache de la siguiente forma:
Código

Eso es lo que se yo sobre seguridad básica cuando programas en php utilizando mysql.
En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Manera mas segura de guardar una clave en BD
« Respuesta #3 en: 4 Octubre 2008, 06:04 am »

lo standart es md5, sha1 (el que yo utilizo), crypt...

S2
En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Manera mas segura de guardar una clave en BD
« Respuesta #4 en: 4 Octubre 2008, 06:17 am »

«Leo en Kriptópolis un interesante artículo respecto al uso de GPU como la de Nvidia GForce 8 y GForce 9 para romper contraseñas. Los resultados (según ellos) son abrumadores, 1000 millones de contraseñas en un segundo. La empresa responsable del software de recuperación de contraseñas es elcomsoft.»

Fuente 1.

Nuevo sistema, apoyado en tarjetas gráficas, "tritura" contraseñas a velocidades de vértigo

Hace menos de un año, Fernando Acero comentaba en Kriptópolis cómo no tardaríamos en asistir al uso de las GPU de las tarjetas gráficas para acelerar ciertos cálculos colaborando con la CPU.

Hoy mismo, Elcomsoft anuncia una nueva versión de su programa para recuperación de contraseñas de forma distribuida con una peculiaridad interesante: la contribución a la CPU de las GPU de múltiples tarjetas gráficas Nvidia (como la GeForce GTX 280) trabajando en paralelo.

El resultado parece impresionante, ya que el sistema es capaz de explorar hasta 1.000 millones de contraseñas por segundo. Sin llegar a tanto, y sólo para hacernos una idea, mientras un Core2Duo es capaz de probar 200 contraseñas por segundo, la adición al sistema de una simple GeForce GTX260 logra elevar la cifra hasta las 5.000 contraseñas por segundo...

Están soportadas todas las GeForce 8 y GeForce 9, pero ni siquiera es preciso que todas las tarjetas sean idénticas.

Entre las principales víctimas de esta bestia con esteroides, las contraseñas de acceso (LM y NTLM) de Windows (NT, 2000, XP, 2003 y Vista), los "hash" MD5 y las contraseñas de documentos de Office 2007.

Fuente 2.
En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Manera mas segura de guardar una clave en BD
« Respuesta #5 en: 4 Octubre 2008, 06:24 am »

me parecen un poco exagerados tus números... pero de todas formas... hace años que dicen que las contraseñas deben ser complejas y de largo tamaño, una contraseña "HOLA" te creo que logren romper...

S2
En línea

Ertai
Colaborador
***
Desconectado Desconectado

Mensajes: 2.025


Ralph Wiggum


Ver Perfil
Re: Manera mas segura de guardar una clave en BD
« Respuesta #6 en: 7 Octubre 2008, 01:57 am »

Código
  1. for($i=0;$i<69;i++) {
  2.   if($i%2)
  3.     $pass = md5("3324¨Ñ9(=00" . $pass . "()/%asd*'¡");
  4.   else
  5.     $pass = sha1("&/BS((( X(" . $pass . "dfu(//')=(");
  6. }
  7. /* Utiliza las GeForce que quieras ;) */
  8.  
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Servicios para guardar contraseñas en la nube de forma segura
Noticias
wolfbcn 0 1,892 Último mensaje 30 Septiembre 2012, 14:40 pm
por wolfbcn
Manera más segura de ocultar ip
Hacking
kikel 2 2,895 Último mensaje 5 Junio 2013, 22:25 pm
por #!drvy
¿Qué es lo recomendable implementar para navegar de manera segura por internet?
Seguridad
Developer Diego 2 4,222 Último mensaje 16 Julio 2014, 14:28 pm
por Senior++
Cómo borrar datos de un SSD de manera segura
Noticias
wolfbcn 0 1,296 Último mensaje 20 Marzo 2017, 18:18 pm
por wolfbcn
Manera más segura de comunicarse?
Mensajería
JvCelada 3 3,434 Último mensaje 1 Abril 2017, 00:09 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines