Autor Tema: Decompiler.Net  (Leído 12717 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Decompiler.Net
« Respuesta #15 : noviembre 28, 2005, 12:47:53 pm »
Si estas usando el mismo usuario para todo entonces estas comprometiendo la seguridad de tu programa.

No man yo no he dicho que estoy usando el mismo usuario como quien dice con altos privilegios para la base de datos , pero aun asi me refiero a que el usuario aunque solo sea capaz de hace inserciones de datos igual pueden ver la contraseña.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Decompiler.Net
« Respuesta #16 : noviembre 28, 2005, 01:10:48 pm »
No man yo no he dicho que estoy usando el mismo usuario como quien dice con altos privilegios para la base de datos , pero aun asi me refiero a que el usuario aunque solo sea capaz de hace inserciones de datos igual pueden ver la contraseña.


No mira, esque ahi tambien la estas regando :P en la DB no se debe guardar la contraseña en texto plano, sino el HASH de la misma.

Así aunque el "atacante" logre obtener el pass, tiene que emplear un ataque de fuerza bruta para obtener el password.

Mira, por ejemplo, encontré este código por ahi... Lo que se hace en PHP es chekear el HASH que esta almacenado en la base de datos. Nunga guardas textos planos:

Código: [Seleccionar]
<?php

/* Check user details */

$passwordHash sha1($_POST['password']);

$sql 'SELECT username FROM user WHERE username = ? AND passwordHash = ?';
$result $db->query($sql, array($_POST['username'], $passwordHash));
if (
$result->numRows() < 1)
{
    
/* Access denied */
    
echo 'Sorry, your username or password was incorrect!';
}
else
{
    
/* Log user in */
    
printf('Welcome back %s!'$_POST['username']);
}

?>


Como veras, en ningun momento (a excepcion de la ejecucion), se conoce el password.

Puedes tener un usuario para la BD que únicamente tenga acceso a la lista de USER/PASS y que sirva para realizar la validación.

Leete esta página, ahi explican de una manera bastante sencilla, una forma segura de verificar passwords.

Código: [Seleccionar]
http://phpsec.org/articles/2005/password-hashing.html
« Última Modificación: noviembre 28, 2005, 01:15:15 pm por mxgxw »


Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Decompiler.Net
« Respuesta #17 : noviembre 28, 2005, 01:18:10 pm »
Otras cosas que podrías hacer es por ejemplo. El usuario de la aplicacion que pueda accesar unicamente desde la maquina local.

De esta manera evitaras que alguien se conecte remotamente a modificar los valores.

Esto tiene otro beneficio, para que se pueda realizar un ataque a la BD deberia de realizarse desde un host local, o desde una aplicacion local. Si la maquina que tiene la DB tiene su firewall y la aplicacion esta bien escrita como para que en cierta medida se evite la ejecucion de codigo, entonces estara muy dificil que alguien tenga acceso a la misma.


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Decompiler.Net
« Respuesta #18 : noviembre 28, 2005, 04:58:03 pm »
creo que no me has captado de lo que estoy hablando, no me refiero a las contraseñas que van a usar tus usuarios en tus programas , me refiero a la contraseña de conexion al servidor. La que va a ir en el connection string, lo que estas hablando de md5 no tiene nada que ver con las conexiones para el ado.net. Y con lo que decis de limitar los hosts pues la cuestion esta en que vos no sabes en que maquinas, con que ip o con que nombre va a estar trabajando un programa que desarrolles  por lo que la cuestion de limitar los nombres de host creo que saldria un poco consumidora de tiempo. Supongo que frank ahora en la noche que lea esto tal vez nos comenta como estan haciendo ellos en donde trabaja con ado para ver como ocultan las contraseñas con las que trabajan.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Decompiler.Net
« Respuesta #19 : noviembre 28, 2005, 05:15:49 pm »
creo que no me has captado de lo que estoy hablando, no me refiero a las contraseñas que van a usar tus usuarios en tus programas , me refiero a la contraseña de conexion al servidor. La que va a ir en el connection string, lo que estas hablando de md5 no tiene nada que ver con las conexiones para el ado.net. Y con lo que decis de limitar los hosts pues la cuestion esta en que vos no sabes en que maquinas, con que ip o con que nombre va a estar trabajando un programa que desarrolles  por lo que la cuestion de limitar los nombres de host creo que saldria un poco consumidora de tiempo. Supongo que frank ahora en la noche que lea esto tal vez nos comenta como estan haciendo ellos en donde trabaja con ado para ver como ocultan las contraseñas con las que trabajan.

Viejo viejo... eso es trabajo del ofuscador... esque no estoy hablando de tecnicas de ofuscación.. sino de software para ofuscar codigo...

Se encargan de cortar los strings.. hacer sub funciones que lo generen... etc.... es bien dificil que obtengas el string original si el codigo ha sido ofuscado.

Mirate esta página:

Código: [Seleccionar]
http://www.preemptive.com/products/dasho/FAQ.html#What%20is%20String%20Encryption?

Como veras, incluso los strings se cifran para evitar que sean descubiertos.


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Decompiler.Net
« Respuesta #20 : noviembre 28, 2005, 07:22:15 pm »
interesante lo que me has puesto  :thumbsup: entonces resulta que quizas lo mas seguro es siempre usar un ofuscador de codigo , habria que averiguar cual es el mejorcito para c# :P

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Decompiler.Net
« Respuesta #21 : enero 08, 2006, 11:59:23 am »
para los que estaban curiosos como el caso de mi persona de como se ve un codigo cuando ya esta ofuscado aqui les presento una imagen pequeña, todas las cosas son reemplazadas por textos que no tienen nada que ver y las cadenas de caracteres son enviadas a funciones que se encargan de hacerlas un solo desmadre y en consecuencia no se termina entendiendo nada de nada.