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
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: kub0x)
| | | |-+  Como cifrar contraseñas con SHA-1 en PHP???
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como cifrar contraseñas con SHA-1 en PHP???  (Leído 12,084 veces)
shamaka

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Como cifrar contraseñas con SHA-1 en PHP???
« en: 5 Diciembre 2010, 22:45 pm »

Hola amigos.

Soy administrador de una Web que acepta registros.

Unos días atrás me concentre tanto en buscar una solución a la seguridad de mi Web. Que me he topado con sistema de funciones hash criptográficas "SHA-1".

Había publicado un post de como cifrar las contraseñas usando MD5, pero descubrí que este es vulnerable ataques de Fuerza bruta. Entonces, mi pregunta es, como puedo cifrar mi contraseña de administrador de una Web y la de los usuarios que se registran usando SHA-1? Por favor si alguien sabe como hacerlo pueden decírmelo. No soy para nada experto en PHP ni programación que sea lo mas claro posible xD.

Saludos a todos.


Ya es mi segundo post!     ;D


En línea

Con temor a Dios y sin miedo al hombre
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #1 en: 6 Diciembre 2010, 01:54 am »

Por favor, posteá en una sola sección, vi que también lo posteaste en seguridad, te pido que no lo hagas más.

En cuanto a tu problema, el SHA-1 es también vulnerable a ataques de fuerza bruta de hecho todos los algoritmos lo son.
Lo que te conviene, es hacer un sha-1 con salt, y pasarlo varias veces.
En cuanto a la función, en php es "sha1" así de simple. Aca te paso un link del manuál sobre la sintaxis de esta función:
http://php.net/manual/en/function.sha1.php

Saludos


En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
shamaka

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #2 en: 6 Diciembre 2010, 02:25 am »

soy nuevo y la verdad es que no supe bien donde era el lugar correcto, la próxima me leo las normas  ;D

Cuando te refieres a "Lo que te conviene, es hacer un sha-1 con salt, y pasarlo varias veces" Que quieres decir con eso, es decir, como ya he mencionado no soy nada experto en este tema.   

Ademas, ya he logrado cifrar la contraseña, pero no hago que conicida con la de la base de datos, como puedo hacer para cifrarla también en la base de datos??
En línea

Con temor a Dios y sin miedo al hombre
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #3 en: 6 Diciembre 2010, 02:44 am »

Mira, primero, parece que no tenés muy claro el concepto de hash, paso a explicar:
Un hash es un algoritmo matemático que permite teniendo una mensaje de entrada de longitud variable, tener un mensaje de salida de longitud fija y al mismo tiempo que no sea reversible. Es decir, que si Hash(m) = H, teniendo "H" no se pueda conseguir (fácilmente) "m".
Uno se preguntará, de que sirve esto?
Si uno guarda una contraseña en plaintext, cualquier persona que tenga acceso al lugar donde está guardado, la podría ver sin ningun problema. En cambio, si se guarda el hash de la contraseña, es otra cosa, ya que la persona debería primero crackear el hash para luego poder usar la contraseña.

Un hash es un algoritmo determinístico, esto quiere decir que dado una mensaje de entrada "m" la salida va a ser siempre igual mientras "m" no varíe.

Un algoritmo de login seguro, toma la contraseña del usuario, y la envía en forma de hash. Cuando el servidor recibe este hash, lo compara con el hash que tiene en la base de datos. Si son iguales, permite el login, si no son iguales, no lo permite.

Aplicado a esto, primero tenes que saber como está cifrado el hash de la base de datos, dependiendo con que estés trabajando, puede variar el algoritmo.
Un "salt" es una cadena de bits que se agregan al principio o al final del mensaje antes de hashearlo, esto evita ciertos tipos de ataques como rainbow tables, dejando como única opción, la fuerza bruta. La ventaja del salt, es que no exige mayores recursos al servidor.
Con lo de "pasarlo varias veces", me refería a hacer hashes de hashes de esta manera:
m = mensaje s = salt.
Hash(Hash(Hash(m+s)+s)+s) y así sucesivamente...

El problema de esto es que consume recursos del servidor.

En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
shamaka

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #4 en: 6 Diciembre 2010, 05:04 am »

Bastante clara la información, para alguien que sepa de esto  :laugh:

Para terminar con la cuestión, ay alguna forma de poder contratar contigo para que soluciones este pequeño problema de seguridad de mi web?  Tu pones el precio y lo acordamos.

Espero que esto no este en contra de las normas, (aun no las leo) pero si lo deseas puedes escribirme a [MODERADO]

Esperare su respuesta, hasta luego y gracias

MOD: Por favor no pongas tu dirección de correo. Gracias!
« Última modificación: 6 Diciembre 2010, 14:11 pm por APOKLIPTICO » En línea

Con temor a Dios y sin miedo al hombre
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #5 en: 6 Diciembre 2010, 14:11 pm »

Nono, esto no está en contra de las normas, excepto lo de poner el correo en un post.
Si querés pasar un correo, tenés que mandar un PM, lee las reglas.
Mirá, en cuanto a eso, yo realmente soy muy principiante con php, programo en C/C++ y en VB.
Pero mirá, cualquier duda que tengas, vení y postea en el foro, que nosotros te vamos a tratar de ayduar todo lo posible.
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
shamaka

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Re: Como cifrar contraseñas con SHA-1 en PHP???
« Respuesta #6 en: 7 Diciembre 2010, 18:20 pm »

Gracias hermano  ;D
En línea

Con temor a Dios y sin miedo al hombre
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cifrar contraseñas?
Scripting
RedKnight 4 4,016 Último mensaje 29 Mayo 2009, 00:47 am
por Darioxhcx
Como cifrar los parámetros de una URL
Desarrollo Web
shamaka 7 8,600 Último mensaje 27 Diciembre 2010, 14:55 pm
por seele
¿cifrar en base64 como el script spoiler de identi y hackstore como se hace?
PHP
Weeken 2 5,416 Último mensaje 4 Marzo 2013, 03:43 am
por Weeken
¿Cómo cifrar contraseñas antes de subirlas a MySQL en PHP? « 1 2 »
PHP
Macky25 12 9,095 Último mensaje 23 Octubre 2016, 03:27 am
por geshiro
Cifrar contraseñas en phpMyAdmin
Desarrollo Web
Ahinoam 3 2,913 Último mensaje 3 Noviembre 2019, 20:07 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines