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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 448
401  Programación / Desarrollo Web / Re: fetch en clase me devuelve undefined | javascript en: 15 Mayo 2021, 17:06 pm
El típico problema de javascript en la que las personas intentan escapar el flujo del programa.

E.g.

Código
  1. let result;
  2. setTimeout(function(){ result = 'algo diferente'; }, 0);
  3. console.log(result); //undefined

Pero lo haz puesto en una clase...
Código
  1. class A {
  2.   metodo(){
  3.       setTimeout(_ => this.result = 'algo diferente');
  4.       return this.result;
  5.   }
  6. }

Esto simplemente está mal. En el ejemplo, estoy usando setTimeout pero en javascript hay cientos de funciones que son asincronas, sin mencionar las funciones que son compuestas por funciones asincronas y que por ende también son asincronas. En tu caso, tu has usado fetch, pero es el mismo problema.

Una función asíncrona no está obligada a llamar a la función pasada inmediatamente (de hecho, esto casi nunca pasa así). Estas son funciones que agendan la ejecución de una función posteriormente. Es un error creer que la función ha sido llamada antes de la instrucción que asigna el valor (o retorna el valor en tu caso).

Es como si pidieras una pizza y le dejas la instrucción al repartidor que deje la pizza en la puerta. No tratarías de recoger la pizza en la puerta justo después de colgarle a la pizzeria ¿verdad? Pues es lo mismo con javascript. Tu pizza no está hecha, pero la estas intentando poner en la mesa. ¿Pues que has agarrado? Nada, undefined.

Lo correcto es seguir el flujo de ejecución. Si pediste una pizza, tienes que recoger la pizza cuando llegue a tu puerta. Para esto están los mecanismos de promesas, async/await (basados en promesas) y CPS (que está en desuso).

No puedes escapar el flujo de estos mecanismos. Una vez que una función use una función asincrona, tu función pasa también a ser asíncrona.

Esto quiere decir que lo podrías hacer así:

Código
  1. export class DB{
  2.    constructor(API){
  3.        this.API=API;
  4.    }
  5.    show(){
  6.        return fetch(this.API)
  7.        .then(res=>res.json())
  8.    }
  9. }

O así:
Código
  1.    constructor(API){
  2.        this.API=API;
  3.    }
  4.    async show(){
  5.        let res = await fetch(this.API);
  6.        return res.json();
  7.    }

Para luego consumirlo así:

Código
  1. const login=(e)=>{
  2.    //...
  3.    let empleados=new DB(`${API}/empleados/`).show();
  4.    empleados.then(data => console.log(data);
  5.   //...
  6. }

Vaya que solo puedes continuar el flujo dentro de la función pasada a then, pues esta agenda la función para que sea ejecutada una vez que el valor exista. En pocas palabras, el metodo then te permite recoger la pizza cuando este en tu puerta.
402  Seguridad Informática / Seguridad / Re: La vacuna más efectiva contra el Ransomware en: 14 Mayo 2021, 18:06 pm
Para evitar la metástasis del Ransomware, es buena opción apagar de golpe el equipo si sabes que te acabas de infectar de un ransomware? de esta forma, no se podría propagar, y podrías hacer copias de seguridad de los archivos restantes, además de cortarles las alas al ransomware atreves de abrir tu dispositivo de almacenamiento donde está iniciado su SO, como un dispositivo de almacenamiento externo y manipular los archivos infectados y eliminar el propio ransomware :rolleyes:
¿Qué opináis?

¿Si acabas de abrir un archivo que sabes que tenia un ransomware? Pues yo diría que si. Pero literalmente dos segundos o así. La mayoría no se da cuenta que se ha infectado de ransomware hasta que es muy tarde. Hay ransomware que deja la llave en memoria y a veces es posible rescatarla, por eso no se recomienda apagar el equipo una vez infectado.

Lo seguro es desconectar la red como dice el-brujo, para evitar que intente cifrar documentos compartidos o que se intente propagar a otros equipos (como por RDP últimamente).
403  Programación / Desarrollo Web / Re: Omitir resultados de busqueda ya visitados en Google. en: 14 Mayo 2021, 13:50 pm
Puedes esconder los resultados fácilmente con javascript, pero vas a obtener menos resultados por pagina de búsqueda.
404  Programación / Desarrollo Web / Re: [Ayuda] Como Incrustar (Botones/label/ otro...) en alguna pagina web, con javascript. en: 12 Mayo 2021, 20:36 pm
Bleh, el markup de Youtube es horrible, por ejemplo hay varios #info.

Lo que vi es que al momento de parsear:

Código
  1. <yt-formatted-string force-default-style=\"\" class=\"style-scope ytd-video-primary-info-renderer\">Titulo</yt-formatted-string>

Simplemente ignora el contenido de la etiqueta por alguna razón.

Código
  1. <yt-formatted-string class=\"super-title style-scope ytd-video-primary-info-renderer\" force-default-style=\"\">
  2.            <!--css-build:shady-->
  3.         </yt-formatted-string>

Creo que tiene algo que ver con el componente, pero no estoy seguro exactamente. Lo que yo recomendaría es que lo agregaras al DOM directamente y no lo estés recreando.

Código
  1. let html = `
  2.  
  3. <button name="favorito" type="button">
  4. <svg aria-hidden="true" viewBox="0 0 10 10">
  5. <path d="m7.4 8.8-2.4-1.3-2.4 1.3.46-2.7-2-1.9 2.7-.39 1.2-2.5 1.2 2.5 2.7.39-1.9 1.9z"/>
  6.  
  7. </svg>
  8.  
  9. Agregar a favoritos
  10.  
  11. </button>
  12.  
  13. `;
  14. let tmp = document.createElement('div');
  15. tmp.innerHTML = html;
  16. document.getElementById('info').append(tmp);
405  Seguridad Informática / Hacking / Re: Acceder a SMF con contraseña hasheada ¿es realmente posible? en: 12 Mayo 2021, 13:16 pm
Hola.

Fijate el post que compartí de SMF, ahí se especifica bien todo y se menciona lo que dijiste, en SMF 2.1 está "solucionado".



Claro, comprendo el error pero no como es posible "explotarlo".
¿Con qué parámetros finales accedería el usuario?

No estoy muy seguro de que otros campos se envían o se necesitan del lado del cliente. Pero ahí está enviando un nuevo campo hash_passwrd que es básicamente:

Código
  1. sha1(hashUserDb + $session_id)

Los otros campos probablemente son enviados normalmente (excepto passwrd que se remplaza por un string vacío o por asteriscos).

El identificador de sesión esta en una cookie pero también lo imprimen en el formulario:

Código
  1. hashLoginPassword(this, 'add5f76205f957b650bb0a5aa71e6ccd');

Sería bastante sencillo modificar el script de JS para que tome el hash en lugar del password:

Código
  1. //Función mencionada encargada del hash que viene por defecto en SMF.
  2. function hashLoginPassword(doForm, cur_session_id)
  3. {
  4. // Compatibility.
  5. if (cur_session_id == null)
  6. cur_session_id = smf_session_id;
  7.  
  8. if (typeof(hex_sha1) == 'undefined')
  9. return;
  10. // Are they using an email address?
  11. if (doForm.user.value.indexOf('@') != -1)
  12. return;
  13.  
  14. // Unless the browser is Opera, the password will not save properly.
  15. if (!('opera' in window))
  16. doForm.passwrd.autocomplete = 'off';
  17.  
  18. doForm.hash_passwrd.value = hex_sha1(doForm.passwrd.value + cur_session_id);
  19.  
  20. // It looks nicer to fill it with asterisks, but Firefox will try to save that.
  21. if (is_ff != -1)
  22. doForm.passwrd.value = '';
  23. else
  24. doForm.passwrd.value = doForm.passwrd.value.replace(/./g, '*');
  25. }

Y como usa el scope global, solo tienes que copiar y pegar en la consola. Y listo, ahora solo usas los hashes tal cual aparecen en la BD.

Ya, ahora entiendo, pero para que eso sea posible tiene que estar vulnerable la base de datos y/o el foro.

No necesariamente, el hash es salteado con el usuario y contraseña. En teoría, dado lo común que es que los usuarios reúsen credenciales... es perfectamente posible encontrar una BD de otro foro que use este mismo esquema. Por eso, el salt tiene que ser random.

Y por si no fuera poco, enviar el hash de la contraseña  en texto plano no ofrece ninguna ventaja sobre usar una contraseña normal. Esa cuenta puede ser fácilmente comprometida monitoreando la red si va por texto plano. La contraseña es simplemente el hash y si va por texto plano, yo lo puedo leer.

Así que, esto hace absolutamente nada (fuera de que oculta la verdadera contraseña, que podría ser usada en otros sitios...).
406  Seguridad Informática / Hacking / Re: Acceder a SMF con contraseña hasheada ¿es realmente posible? en: 11 Mayo 2021, 18:12 pm
Hola, hasta donde tengo conocimientos eso no es así...

SMF 2.0 utiliza éste método para cifrar las contraseñas de los usuarios:

Código
  1. $hash = sha1(strtolower($username) . $password);

Las contraseñas utilizan un salt y ese salt es el nombre de usuario, entonces se cifra el usuario + la contraseña.

Y no, no es posible acceder como piensas aunque tengas la contraseña hasheada ya que al intentar iniciar sesión el foro vuelve a hashear la contraseña y aunque esté hasheada la va a volver a cifrar igual a otra distinta, por lo que obviamente no será la misma porque no van a coincidir.

De todas maneras en SMF 2.1 se mejora el método de cifrado utilizando lo más seguro hasta ahora que es bcrypt.


Saludos

El salt lo único que está haciendo es que no puedas usar dumps de otros sistemas que no usen este salt.

En teoría, si tu tienes el hash (el hash usuario+password) tu puedes iniciar sesión con ese usuario. Por ejemplo, si encuentras una vulnerabilidad que imprima el hash de un usuario podrías iniciar sesión con ese usuario. En cambio, si no se hiciera esto del lado del cliente, el atacante no podría usar este hash.

Incluso los desarrolladores de SMF confirmaron que era posible y que por eso lo han cambiado en el 2.1, lo dicen justo ahi en el link del mensaje principal.
407  Seguridad Informática / Hacking / Re: Acceder a SMF con contraseña hasheada ¿es realmente posible? en: 11 Mayo 2021, 13:05 pm
Pues si, no se que estaban pensando con esto... La única forma sería implementar algo como RSA y un protocolo para intercambio de llaves. Todo esto ya lo hace SSL, así que no tiene caso hacer esto del lado del cliente.
408  Foros Generales / Foro Libre / Re: Protestas en Colombia en: 10 Mayo 2021, 18:12 pm

...

edit: p.s. no quiero sonar muy enojado, jajaja, yo escribo así, lo siento :xD un abrazo WHK y demás foreros.

No es la primera vez que escucho esta historia pero creo que para allá van todos nuestros sistemas económicos, de izquierda o derecha. Simplemente todos (o la gran mayoría) resuelven a una desigualdad económica y eventualmente a una desigualdad social. Siempre habrá ricos y pobres. La pregunta es ¿Que tan ricos van los ricos y que tan pobres van los pobres?

¿Van más o menos? ¿Pues por cuanto tiempo más?
¿Hay un abismo entre pobreza y riqueza? -> Revolución.
409  Foros Generales / Foro Libre / Re: ‘Donuts’, cervezas y marihuana gratis para incentivar la vacunación en Estados Unidos en: 9 Mayo 2021, 18:53 pm
Te recuerdo el título del hilo y la noticia: "Donuts, cervezas y marihuana gratis para incentivar la vacunación en Estados Unidos"

Claro. ¿Y esto que tiene de malo? Para empezar, esto que se regala (las cosas mencionadas en el título de la noticia) no van por parte del gobierno. El dinero como incentivo es para empleados federales. Hasta donde yo tengo entendido, no hay una ley federal que ofrezca a sus empleadores este incentivo. Esto fue lo que quise decir.

Estamos hablando de Estados Unidos, luego no. No es verdad... en USA tu hospitalización y medicinas y la sanidad en general, es tu problema, corre de tu bolsillo. Así que al gobienro no le cuestas mucho, simplemente no le cuestas nada.

Todo sale de tu bolsillo a menos que no estés pagando impuestos... ¿O me dices que en España les regalaron sus dosis? No veo el punto en decir que EUA tiene políticas económicas terribles para su sistema de salubridad cuando lo que están haciendo ahora mismo en relación a COVID es justo lo que deberían hacer...

Lo que a la gente no le entra en la cabeza, es que esto es un virus, uno que se esparce muy fácilmente y tiene un número de complicaciones. Pero os lo voy a poner super sencillo.

Tu te enfermas, tu comunidad se enferma, tu provincia se enferma, tu pais se enferma. ¿Pais enfermo? Tu país produce menos dinero. Tu gobierno recibe menos dinero.

Menos gente enferma. Más gente trabajando. Tu gobierno recibe más dinero.

Esto debería ser obvio para todos, pero por desgracia a EUA le tuvo que tocar una pandemia para darse cuenta de esto. Al menos para esto, están haciendo las cosas bien. Por eso, todo esto es una inversión.

En fin, que cada uno tiene la memoria que tiene (y quiere).

Yo creo que lo de que más me voy a acordar es de las personas necias que se negaron a hacer cuarentana, que se negaron a usar mascarás y que se creyeron que todo esto era una invención del gobierno chino para quitarles sus derechos.

Ah y también me voy a acordar de la gente que no se quiso vacunar porque tenían miedo que Bill Gates los manejara como robots o porque simplemente están en contra de las vacunas.
410  Foros Generales / Foro Libre / Re: ‘Donuts’, cervezas y marihuana gratis para incentivar la vacunación en Estados Unidos en: 9 Mayo 2021, 12:34 pm
Comprendo las 'prisas' por la vacunación que los países pueden tener.

Pero francamente me parece hasta mafioso eso de que no se quien (no importa el quien), te pague x dinero por que te vacunes...

No le están dando dinero a todo mundo. Le están dando dinero a ciertos empleados. En Texas es igual, algunas escuelas están pagando a sus maestros si se vacunan. Las vacunas (y todo el proceso que involucra, desde la patente hasta su distribución) como también cualquier incentivo para aplicarla son una inversión de parte del gobierno.

Simplemente, les cuestas mas al gobierno (y a tu comunidad) si no estás vacunado por la simple posibilidad de contagio. Eventualmente, los incentivos se van a ir cuando lleguemos a un 70-80% de vacunados. Pero mientras haya gente que este preocupada por los efectos de las vacunas y la naturaleza de las vacunas en sí, se tiene que hacer todo lo posible para convencer a estas personas.

Francamente si vamos a recordar algo en un futuro es que personas no pudieron salvarse ni aunque les dieras dinero.
Páginas: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 448
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines