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

#271
Cita de: MiguelCanellas en 14 Diciembre 2019, 19:12 PM
Por ahí la función que me mandaste que dijiste que es más sencilla capaz hace lo mismo la verdad nose no estoy muy familiarizado con eso xD

Creo que la función que te recomende es mejor incluso se podría utilizar la función random_bytes en lugar de la función openssl_random_pseudo_bytes.

La principal idea de genera un código de "seguridad" es que no pueda ser adivinable.

En función los valores que son tomados de la fecha son calculables año, mes dia, hora minuto y segundo son calculables, posteriormente los únicos valores random que tienes es el numero de de 6 dígitos que va del 100 mil al 999,999 adicional  eso los otros 2 valores que van de la A a Z.

Si es difícil adivinarlo, pero puede se puede mas o menos predecir su valor original. En cambio si obtienes X cantidad de bytes al azar, digamos 16 bytes al azar.
El numero de posibilidades es

255 *255*255 *255*255 *255*255 *255*255 *255*255 *255*255 *255*255 *255

Ahora en el ejemplo que te puse, indique que se podrían tomar 1024  bytes, sin embargo si viste el post que publique, el debate fue solo utilizar 16 o 32 bytes en la función.

Totalmente impredecible.

Código (php) [Seleccionar]

<?php
function Create_Code()
{
return hash("sha256",random_bytes(32));
}
?>



Aplicamos la función hash sha256 a eso datos binarios y listo ya tenemos nuestro string.

Saludos
#272
Reamente no lo he intentado, seria cosa de validar si puedes dar de alta el mismo sitio para las 2 versiones de recaptcha

La version 2 utiliza el mismo script de la version 3 pero sin el KEY de tu size
<script src="https://www.google.com/recaptcha/api.js" async defer></script>

La version 3
<script src="https://www.google.com/recaptcha/api.js?render=_reCAPTCHA_site_key"></script>

Si lo intentas con las 2 versiones y funciona no dudes en comentarlo.

Saludos
#273
V3 sin duda, aunque por ejemplo me a pasado que estoy experimentando  Navegador limpio y proxy de otro pais y me da score bajo, en esa ocasión basto que me logueara en google y ya me subió el puntaje.

Lo ideal solo seria utilizarlo para funciones que si necesites proteger, con los usuarios comunes no van a tener problema a no ser que sea la primera vez que utilizan ese navegador (Ejemplo movil nuevo o computadora recién formateada).

Saludos!
#274
PHP / Re: Performance de un dirbuster en PHP?
23 Diciembre 2019, 01:31 AM
Pues lo ideal seria descargar el archivo al servidor local wget o algún otro método, para posteriormente de ahí ir leyendo línea a línea del mismo. Dependiendo del tamaño del archivo y de los límites de memoria del servidor lo ideal seria leer solo linea por linea he ir guardadlo los offset de cada linea o en su defecto irlos guardando en una base de datos.

Todo depende de lo que necesites si necesitas mas performance, sacrificas memoria y si quieres ahorrar memoria sacrificas performance.

Eso si, el archivo tiene que estar localmente, si no ni perfermance ni memoria.

Saludos!
#275
Jajaja asi es  ;-) ;-), considero que la adición al cafe es de las adicciones menos dañinas hay otras adicciones que si dañan mas como el alcohol (Tomo solo socialmente una vez al mes) o el Cigarro (No fumo), por no decir otras drogas.

Saludos!
#276
Yo por lo general tomo un café al dia, los tomo sin azúcar.

Si es adictivo, pero la creo que la cosa esta en no abusar como todo.

Saludos
#277
Excelente ya funciono, fijate que es las pocas cosas que no me gusta de PHP cuando quieres que un valor se mantenga en su forma (int), se toma las libertades de usalo como string y viceversa.

Muchas gracia por tomarte la molestia y hecharle un ojo.  ;-) ;-) ;-)

La función quedo de la siguiente manera:

Código (php) [Seleccionar]
function hotp($key,$c) {
$mask = ['f' => '7','e' => '6','d' => '5','c' => '4','b' => '3','a' => '2','9' => '1','8' => '0'];
$hash_value_str = hash_hmac("sha1",pack("H*",sprintf("%016x",$c)),$key);
$offset = intval($hash_value_str[39],16)*2;
$extract = substr($hash_value_str,$offset,8);
if(isset($mask[$extract[0]])) {
$extract[0] = $mask[$extract[0]];
}
$value = intval($extract,16);
return ($value % 1000000);
}


Y los valores ya coinciden con los que arrojan las aplicaciones de authenticator.

Saludos
#278
Que tal gracias por responder, acabo de ver el link en tu pagina de github y el código que muestras solo extrae los primeros 6 caracteres del hash devuelto por hash_hmac sin importar si son letras o no.

Creo que no esta actualizado.

Sobre lo que comentas del tipo de hash pense que era solo con sha1 pero me da gusto que sea configurable por aquello de las colisiones en sha1 y en md5 yo prefiero usar sha256, pero realmente con el limite de 30 segundos la mayoría de los hash son validos.

Saludos
#279
Hacking / Re: Hacer un IDS con redes neuronales
22 Diciembre 2019, 05:16 AM
Cita de: .rn3w. en 22 Diciembre 2019, 04:18 AM
mi pregunta es con que software puedo obtener estos datos de información, o con snort se puede?
Si con Snort puedes o tcpdump, pero si lo que quieres es ir extrayendo los datos te hara falta alguna libreria para realizar esa operacion si tienes linux puedes utilizar libpcap para programarlo en C, o si prefieres otro lenguaje necesitarías buscar las alternativas de cada uno de ellos.

Con libpcap puedes obtener los paquetes tal como llegan al sistema operativo y de ahí ir extrayendo todo los datos que necesitas de acuerdo al tipo de paquetes. Es necesario tener algo de background del tipo de paquetes que recibirás y mas o menos como se forma cada uno de ellos [Paquetes que ve el hardware][Paquetes IP u otros] [Paquetes TCP o UDP....] y un largo ETC en fin.

Saludos!
#280
Te refieres a algo como utilizar el valor en formato base32 para realizar el hasheo y demas?

He modificado la funcion para poder testeaar varios valores al mismo tiempo:

Código (php) [Seleccionar]

function hotp($key,$c) {
$mask = ['f' => '7','e' => '6','d' => '5','c' => '4','b' => '3','a' => '2','9' => '1','8' => '0'];
echo "key: $key\n";
echo "c: $c\n";
$hash_value_str = hash_hmac("sha1",$c,$key);
echo "hash: $hash_value_str\n";
echo "4bits (hex): ".$hash_value_str[39]."\n";
$offset = intval($hash_value_str[39],16)*2;
$extract = substr($hash_value_str,$offset,8);
echo "extract: $extract\n";
if(isset($mask[$extract[0]])) {
echo $extract[0]."& 7 =";
$extract[0] = $mask[$extract[0]];
echo $extract[0]."\n";
echo "new extract: $extract\n";
}
$value = intval($extract,16);
echo "Value: $value\n";
return ($value % 1000000);
}


Y ahora solo tengo que hacer:

Código (php) [Seleccionar]

$base32 = new Base2n(5, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', FALSE, TRUE, TRUE);
$ct = floor(time()/30);
$key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
echo "Key in base32: ".$base32->encode($key)."\n";

printf("%06d\n",hotp($key,$ct));
printf("%06d\n",hotp($base32->encode($key),$ct));


Tiene muchos Echo la funcion que se pueden comentar, estan ahi para de momento validar que la funcion esta haciendo bien  los pasos del algoritmo.

Alguna salida es:


Key in base32: IFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAQ====
key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
c: 52566234
hash: 428fc537d16c867ee7e1b4b3cc432c7e288d5769
4bits (hex): 9
extract: e1b4b3cc
e& 7 =6
new extract: 61b4b3cc
Value: 1639232460
232460
key: IFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAUCQKBIFAQ====
c: 52566234
hash: a49ac9470db4a542a36b42d28b7e089e11123f8a
4bits (hex): a
extract: 42d28b7e
Value: 1121094526
094526


Ahora como comentas he probado la llave en su formas de AAAAA y en sus forma en base32.

El google Authenticator lo configuro de la siguiente manera:

Primero agrego la llave en su formato base32


Y obtienes los valores



Pero no coincide con lo que arroja el programa, tengo la duda de saber si el valor $C es correcto, lo obtengo del time/30:

Código (php) [Seleccionar]
$ct = floor(time()/30);

Saludos!

MOD: Imagenes adaptadas a lo permitido.