Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - AlbertoBSD

#201
Modo Paranoico ON

Post Original: https://albertobsd.dev/blog/es/2020/01/no-guardar-email-en-texto-plano/

Déjame repetirte el titulo

No guardar el email en texto plano en la base de datos, No se necesita, no se requiere, es mas seguro.

Según esta publicación (Lectura recomendada)

https://medium.com/@alex.birsan/the-bug-that-exposed-your-paypal-password-539fc2896da9

Bug bounty de 15mil $ USD

Si nos ponemos paranoicos, no deberías de conocer el email del usuario, No se necesita, no se requiere.

¿Que dato valido entonces? Un hash del mismo email protegido con alguna key, Importante: Que no sea reversible es decir que teniendo el hash no exista forma de volver al email y/o password originales.

Los siguientes códigos requieren de un archivo key_db.dat el cual se puede generar con dd leyendo de /dev/random o con el método que mas les guste.

Código (php) [Seleccionar]

/*
metodo con hash_pbkdf2
*/
$halgo = "sha256";
$iterations = 2000000;
$email = "user@example.com";
$password = "P4ssw0rd";
$salt = hash_file($halgo,"key_db.dat",true);
$salida_email = hash_pbkdf2($halgo,$email,$salt,$iterations,0);
$salida_password = hash_pbkdf2($halgo,$password,$salt,$iterations,0);
echo "hash email: $salida_email\n";
echo "hash password: $salida_password\n";


/*
metodo Iterativo con hash_hmac ()
*/
$i = 0;
$data_email = substr($email,0);
$data_password = substr($password,0);
do {
$data_email = hash_hmac($halgo,$data_email,$salt,true);
$data_password = hash_hmac($halgo,$data_password,$salt,true);
}while($i++ < ($iterations - 1));
$data_email = hash_hmac($halgo,$data_email,$salt,false);
$data_password = hash_hmac($halgo,$data_password,$salt,false);
echo "hash email: $data_email\n";
echo "hash password: $data_password\n";

/*
metodo Iterativo solo con hash  (data y key concatenadas)
*/
$i = 0;
$data_email = substr($email,0);
$data_password = substr($password,0);
do {
$data_email = hash($halgo,$data_email.$salt,true);
$data_password = hash($halgo,$data_password.$salt,true);
}while($i++ < ($iterations - 1));
$data_email = hash($halgo,$data_email.$salt,false);
$data_password = hash($halgo,$data_password.$salt,false);
echo "hash email: $data_email\n";
echo "hash password: $data_password\n";



Nota que coloque Iteraciones igual a 2 Millones ya que no sabemos en un futuro que tan feasible sea realizar algun forcebrute a los hashes.

NO SE NECESITA GUARDAR EL EMAIL EN PLANO
- El usuario no se acuerda de su clave? Pides el email y aplicas el mismo algoritmo, se busca en la base de datos y si coincide con alguno de los hash envias el email, basándose en el email que te enviaron obviamente validando que sea email valido filter_var($email, FILTER_VALIDATE_EMAIL)

NO SE NECESITA, ok quieres enviarles noticias o mensajes cada X tiempo
- Se puede utilizar criptografía simétrica para guardar el email pero si te hackean la base de datos y el código fuente, lo van a poder obtener ellos mismos

déjame Repetírtelo una vez mas NO SE NECESITA GUARDAR EL EMAIL EN TEXTO PLANO

Incluso solo se necesita recibir el email en texto plano en 2 ocasiones, solo cuando se registra (Para validar que sea valido) y cuando quiere recuperar su password.

Para el login diario podrías recibir  solo un hash del mismo

var email = CryptoJS.SHA512($("#email").val()).toString().substring(1, 127);

Se le quitan 2 nibbles de los extremos al hash antes de ser enviado, por si se llega a interceptar en transito por algun exploit, no se pueda determinar al 100% cual es el email inicial

Se podría aplicar lo mismo al password (Muy recomendable asi tu nunca vez el password original del usuario)

Saludos!




#202
Dudas Generales / Re: duda sobre token
8 Enero 2020, 23:53 PM
Te voy a poner un link que lei hace unos 8 años, la información debe de estar mas actualizada hoy en dia.

https://bitcoin.org/en/blockchain-guide#introduction

Si realmente quieres aprender empezaras por ahi, y si de plano no te interesa el background del block chain mejor ni le muevas mas.

Saludos!
#203
Tengo configurado un proxy Socks5 implementado mediante ssh tunneling a un servidor dedicado, estoy 100 % seguro que soy el único que lo utiliza como proxy por que yo administro el servidor mencionado.

El punto aquí, es como puede detectar una pagina que visito si estoy usando un proxy Socks5?

He hecho pruebas y el navegador con y sin proxy manda exactamente mismas headers ademas también se que los scripts no puede acceder a la IP Publica Real si estoy con el proxy habilitado.

Pregunto estoy por que servicios como Netflix y otras paginas me detectan que estoy utilizando este tipo de técnicas.

Saludos!
#204
Dudas Generales / Re: duda sobre token
8 Enero 2020, 23:15 PM
No funciona de esa manera, no tendría valor alguno, de hecho no estoy seguro si sea correcto decir "crear un token" mas bien lo que se crea es una Wallet, por lo menos asi funciona con bitcoin.

Realmente necesitas leer mas de Blockchain, para entender mas o menos como esta el tema.

Saludos!
#205
Tendras que reprocesar todos los registros y agregarles la fecha en formato timestamp.

Tomar los dstos que ya tienes calcula la fecha en el formato correcto y agregar el campo nuevo.

Sobre la salida al html se puede corregir.

Lees el decha de la tabla y la transformas de nuevo al  formato de unix o al formato bonito con alguna funcion que reciba el timestamp o el time de unix. Vamos que el procesador puede hacer millones de operaciones,.

Saludos
#206
Cita de: .rn3w. en  8 Enero 2020, 03:11 AM
necesito variables que puedan llegar a ser unicas para diferenciar y de esa manera armar un patron unico para el aprendizaje de la red neuronal

En general cada paquete es unico

Cita de: .rn3w. en  8 Enero 2020, 03:11 AM
de toda esta informacion, creo que aun nada es unico para formar un patron diferenciable entre los demas

Lo que estas viendo es una vista resumida del paquete por ejemplo para TCP tiene mas datos:



Cita de: .rn3w. en  8 Enero 2020, 03:11 AM
si lo configuro como ids puedo obtener mas información?

Creo que tiene el modo --verbose donde incluso te muestra la data final en formato hexadecimal...

No, si lo configuras como IDS vas a cargarle la mano mas al procesador. Ya pesado mostrar los paquetes.
#207
Cita de: .rn3w. en  8 Enero 2020, 02:53 AM
Hola Alberto, primeramente te quiero agradecer en esta oportunidad por tanta ayuda que me brindaste en el pasado (hace como 5 años) muchas gracias!!!

No pues de que :) aqui estamos para ayudar

Cita de: .rn3w. en  8 Enero 2020, 02:53 AMinfluye en algo este warning: WARNING: No preprocessors configured for policy 0.?

No influye, básicamente te indica que no tiene ningun preproceso configurado, snort ademas de poder mostrarte la información, se puede configurar como IDS con ciertas reglas.


Cita de: .rn3w. en  8 Enero 2020, 02:53 AMentonces con esta información ya puedo generar patrones para poder entrenar las redes neuronales?

Tengo una idea muy vaga y escueta sobre como programar una red neuronal, alguna vez vi algunos videos sobre  como hacerlo y en mi cabeza solo estaba pensando en la vaga idea que eso lo podría realizar mediante grafos (Siendo los nodos las neuronas y las aristas las dendritas), pero realmente nunca lo puse en practica.

Pues la información esta bien para empezar aun que como te comento existen varios protocolos y familias ya todo depende del alcance que quieras tener con tu IDS.

Por poner un ejemplo básico PING
[Paquete IP][Paquete ICMP]

Ejemplo básico HTTP
[Paquete IP][Paquete TCP][Paquete HTTP]

Ejemplo básico HTTPS
[Paquete IP][Paquete TCP][Paquete HTTPS (Cifrado)]

Y asi por no decir IPv4 y IPv6
#208
Realmente casi todo es relevante, si es un IDS realmente debería detectar la actividad normal contra la de un Intruso valga la Redundancia.

Segun veo tu paquete:
IP de origen
2803:9400:3:5fc9:5599:9c50:4514:c593
Puerto
40540
con Destino a
2a03:2880:f043:11:face:b00c:0:2
Puerto 443 (HTTPS)
TTL:64 (De salida por default en sistemas muchos sistemas Linux)

Existen muchos vectores de ataque entonces lo que tendría que hacer tu IDS es primero aprender cual es la actividad normal y posteriormente detectar anomalías.

Por ejemplo ese es solo el paquete IP, sobre el va algo de data TCP 32 bytes Y sobre eso van datos que procesa el navegador del cliente y el servidor WEB (Para este caso).
Otra cosa, para comunicaciones que viajan sobre SSL no podrás ver los datos que realmente se enviando por que esta cifrados.

Es algo bastante complejo, si necesitas un background de Redes y de Paquetes.

Saludos!
#209
Alguna buena recomendación de un Libro y/o tutorial de Expresiones Regulares a fondo.

A ver, puedo entrar a google, buscar y empezar con lo primero que encuentre, eso lo se, sin embargo busco alguna recomendación personal que alguno de ustedes ya curso y/o a leído sobre el tema.

Ya sea en Ingles o en español no tengo problema con el lenguaje.

Tengo tiempo tiempo programando y he usado una que otra Regex anteriormente (Solo he usado las entiendo) y muchas veces las pruebo manualmente contra posibles inputs indeseados. Sin embargo nunca me he dado el tiempo suficiente para profundizarlas.

Saludos!
#210
Cita de: @?0!,5^34 en  7 Enero 2020, 23:37 PM
4. Crear dinámicamente el código con createElement.

6. Hacer una petición por xhr al pinchar el link.

Estas 2 se me hacen aceptables puedes crear borran el contenido del div principal y hacer la petición, cuando se resuelva pues solo colocas el contenido en el div

Si lo que quieres es que el cambio sea instantáneo, podrías optar solo solo por ocultar y mostrar div y no depender de ningún framework, ademas el javascript sin tanto adorno es mucho mas rápido.

Saludos!