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


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [66] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 289
651  Foros Generales / Dudas Generales / Re: Qué navegador usas?? en: 26 Abril 2020, 02:22 am
Creo que depende en gran medida de lo que busque cada usuario.
Te dejo ordenados en varias categorias según mi opinión de los 5 navegadores que más utilizo yo.

Tiempo de uso:
1. Samsung Browser(Android).
2. Chrome.
3. Phanter(Es una versión custom de webkit con webview para Android que hice yo.),
4. Yandex.
5. Firefox.

Seguridad:
1. Firefox
2. Yandex
3. Panther
4. Samsung Browser
5. Chrome

Rendimiento y Optimización:
1. Samsung Browser
2. Yandex
3. Panther
4. Chrome
5. Mozilla

Características y soporte de nuevas funcionalidades:
1. Chrome
2. Mozilla
3. Yandex
4. Panther
5. Samsung Browser

Por qué?
Samsung Browser:
Lo utilizo en Android principalmente por velocidad y rendimiento. Las páginas cargan rápido, los scripts corren muy bien, y el tráfico externo no deseado es nulo/mínimo/inapreciable a la hora de navegar. Lo veo como un cuchillo afilado para cortar un bistec, es la mejor opción a la hora de comer.

Chrome:
Suelo desarrollar y cuando busco soporte y utilizar nuevas features de javascript, text to speach o cualquier cosa es un navegador fiable y agradecido con los desarrolladores. También para visualizar y utilizar páginas y aplicaciones web con lo último de lo último. Dentro de los que tienen lo último de lo último no va mal en rendimiento. Por ejemplo en comparación a firefox es un navegador más optimo. Su enfoque a la seguridad no me gusta nada. Yo que pruebo bastante movidas de seguridad web chrome es el navegador al qur voy precisamente para testear cosas como XSS, script dañinos y demás precisamente porque no bloquea cosas que si debería bloquear como hacen Samsung e intentan impulsar Mozilla.

Panther: Tener un navegador scriptable y configurable es de lo mejor a la hora de automatizar y realizar tests. Por ejemplo puedo limpiar la cache, cookies, localStorage y toda la pesca que quiero con darle a un botón. Cambiar el userAgent, modificar css de páginas que suelo frecuentar, ajustar el tipo de aceleración según el modelo... En Android son características muy cómodas y útiles que prácticamente ningún navegador ofrece en todas las versiones de Android. A parte que no me gusta meter extensiones en los navegadores. Si quiero por ejemplo la extensión de no script puedo desactivar javascript directamente desde el código y cargarme todas las ocurrencias de protocolos y uris que no me apetece que me den sorpresas.

Yandex: Para Windows es mi navegador favorito. Muy ligero, seguro, casi siempre incorporan lo último que está estable, muy configurable y personalizable... Básicamente es el rendimiento y la seguridad.

Firefox: Detesto que sea tan pesado. De hace unos 2-3 años para atrás es mi navegador predilecto sin ningún tipo de duda en absolutamente todos los aspectos. No sé que han hecho con él desde hace unos años para acá pero se ha vuelto muy muy pesado a nivel de uso de memoria hasta el punto de dejar de usarlo en sistemas de bajo-medio rendimiento. Aún así para el resto de casos y sobre todo en Linux si el rendimiento no es un problema me parece el mejor navegador y muy infravalorado. Para todo aquel que desconozca sobre el tema de seguridad se lo recomiendo por su seguridad noob friendly. De los navegadores populares si alguien te va a proteger de Phishing es firefox. Para quien busque privacidad también me parece de los más respetuosos para con el usuario a nivel de anonimato (no a nivel de filtración de datos). Por otro lado el motor gecko me parece otro infravalorado más. No està al nivel de Chromium pero ojito que para navegadores custom lo veo la alternativa más viable aunque no de cara al futuro medio-largo plazo lo tiene algo negro como no lo impulsen más.

También tener en cuenta que el 80% de los navegadores ahí fuera son Chrome y cerca del 90% son Chromium asique si alguien grande está interesado en desarrollar exploits para navegadores es obvio por donde van los tiros.
652  Informática / Hardware / Re: PCI express en: 24 Abril 2020, 23:24 pm
No le entra un adaptador? Metes el adaptador y conectas la placa. Aunque las targetas wi-fi son peques, igual puede desmontar la gpu conectar la tarjeta y volver a montar la gpu. O que se compre un adaptador wi-fi usb y lo conecte a un puerto de la placa para que no moleste colgado en el gabinete.
653  Programación / Desarrollo Web / Generadores o funciones generadoras en javascript por StringManolo en: 24 Abril 2020, 22:45 pm
Los generadores o funciones generadores simplifican la tarea de escribir iteradores. En lugar de retornar un valor se genera una secuencia de resultados o una serie de valores. Este tipo de funciones retornan un objeto con el método next() que utilizamos para avanzar en la secuencia de expresiones definidas en el cuerpo de la función.

Código
  1. function* generarSecuencia() {
  2. yield 5 + 6;
  3. yield String.fromCharCode(parseInt("1110000", 2).toString(10));
  4. yield 3 + 4;
  5. return 14;
  6.  
  7. }
  8.  
  9. var secuencia = generarSecuencia();
  10.  
  11. alert( JSON.stringify(secuencia.next()) );
  12. alert( JSON.stringify(secuencia.next()) );
  13. alert( JSON.stringify(secuencia.next()) );
  14. alert( JSON.stringify(secuencia.next()) );
  15. alert( JSON.stringify(secuencia.next()) );
En este ejemplo primero definimos la función generadora.
Definimos cada campo precedido por la keyword yield.
Retornamos la ejecución.
En el parámetro del alert invocamos next() sobre la función y utilizamos JSON.stringify para convertir el objeto en un string para ver exactamente que contiene cada objeto retornado:
{"value":11,"done":false}
{"value":"p","done":false}
{"value":7,"done":false}
{"value":14,"done":true}
{"done":true}

 Cuando haces una llamada a este tipo de funciones su código no es ejecutado directamente, en su defecto, retorna un objeto generador que maneja la ejecución.

 El método next() nos retornará un objeto con la propiedad/key value que contiene el valor generado por la instrucción alcanzada por el objeto generator y otra propiedad de tipo booleano primitivo en el mismo objeto retornado llamada done. Esta propiedad nos indica si la función retornó su ejecución al código de llamada a través del objeto generator. Es decir, si la función ha finalizado.
Esta propiedad podemos utilizarla como iterador para evaluar las instrucciones del cuerpo de la función.
Cuando ocurre un error en uno de los campos se retornará también la propiedad done = true a menos que se implemente manejo de excepciones sobre el campo o la expresión.

Las propias funciones generadoras son iterables y podemos usar expresiones de la índole de for (valor of generador) para recorrer sus instrucciones.

Es también una buena forma remplazar callbacks evitando los problemas comunes de los callbacks en la programación asíncrona.

La funciones generadoras también permiten realizar bucles infinitos.
Código
  1. function* generarSecuenciaInfinita() {
  2. var inicial = -1;
  3. while(1) {
  4. yield inicial += 2;
  5. }
  6. }
  7.  
  8. var secuencia = generarSecuenciaInfinita();
  9.  
  10. var valor = 0;
  11. var nImpares = "";
  12. var nPares = "";
  13. while(valor < 30) {
  14. valor = secuencia.next().value;
  15. if(valor < 30) {
  16. nImpares += valor + " ";
  17. nPares += "" + (+valor + 1) + " ";
  18. }
  19. }
  20.  
  21. document.write("Números Impares menores que 30: " + nImpares);
  22. document.write("<br />Números Pares menores que 30: " + nPares);

 
 
654  Foros Generales / Dudas Generales / Re: Novato en: 24 Abril 2020, 19:16 pm
En el foro de dudas generales tienes un listado de libros.


Si vas a estudiar seguridad Android necesitas saber leer en inglés por la cantidad de material que hay en inglés respecto a en español. Y para la programación en general y el hacking también es muy muy útil.
Hay cursos online como los de duolingo para aprender inglés de forma interactiva sin "chapar". Probablemente si le das caña en muy pocos meses puedes empezar a leer libros en inglés.


Te recomiendo que te centres en programación y el funcionamiento general de las cosas sin profundizar demasiado en esto último hasta que sepas programar.
Android es un sistema Linux asique todo lo que puedas aprender sobre Linux te va a ser muy útil.


El lenguaje de programación predilecto de Android es Java (no confundir con javascript) asique deberías empezar con ese lenguaje. Aunque el código del sistema está escrito en diversos lenguajes.


También debería aprender como funcionan los apk, skali, dalvikvm, firmas...
Cuandl te manejes algo con Java puedes empezar a aprender y programar para Android.




655  Programación / Desarrollo Web / Conversiones/casteos y coerciones de tipos en javascript por StringManolo en: 24 Abril 2020, 10:09 am
En javascript tenemos conversores léxicos en forma de métodos y funciones; Number(), parseInt(), parseFloat(), String(), Boolean(), Object(), toString()... y también disponemos de otros métodos que hacen conversiones indirectas o que directamente retornan otro tipo de dato como .join() y .split(). Incluso se hacen casteos y conversiones de forma transparente. Por ejemplo en el conjunto de sentencias var nombre = "Manolo"; var inicial = nombre.charAt(0); "Manolo" es un literal de un tipo de data primitivo. No tiene métodos aplicables. El motor de javascript crea un nuevo objeto temporal al que pasa una referencia de nombre como parámetro. A este nuevo objeto String se le puede aplicar el método charAt(). Tras ello se retorna el valor como expresión (en este caso se asigna a la variable inicial). Y se asigna null a la variable temporal utilizada. A esta técnica se la conoce como AutoBoxing. Sin embargo lo que quiero comentar no es nada de esto si no los operadores que realizan casteos implícitos.

Sin duda el que más se utiliza de ellos de forma no premeditada es el operador ==. Cuando se comparan dos valores de tipos distintos el operador == hace una conversión automática/implícita de tipo (coerción de tipos) en el caso que sea necesaria. Por ese motivo en muchos casos debemos utilizar en su lugar el operador ===. Pasa lo mismo con otros operadores de comparación como puedan ser el != < >= ...

Por otro lado el operador de casteo implícito más utilizado para coerción es el "". Se abusa de que ante la comparación de un string literal y otro tipo de dato prevalece la concatencación del string sobre una operación de adición.
n = 1; m = 2;
doce = n + "" + m;
También puedes usar un array vacio. alert(1 + [] + 2);

Uno menos conocido es el operador unario +.
La variable doce contiene ahora mismo el string literal de tipo primitivo "12". Si queremos convertirlo a número utilizamos el más. doce = +doce;

Podemos comprobarlo de la siguiente manera.
Código
  1. var doce = "" + 12;
  2. alert(typeof(doce)); /* String */
  3.  
  4. doce = +doce;
  5. alert(typeof(doce)); /* Number */

Otra forma de convertir a número es utilizando doce-0 o ~~doce.
Código
  1. var doce = "" + 12;
  2. alert(typeof(doce)); /* String */
  3.  
  4. doce = doce-0;
  5. alert(typeof(doce)); /* Number */

IMPORTANTE: Este tipo de casteo con operador unario + tiene resultados equivalente a utilizar Number() y no a parseInt();
Tienen pequeñas diferencias. Por ejemplo si casteas un string vacio utilizando parseInt() obtendrás un NaN (Not a Number, No es un número). Por el contrario si usas Number() o el casteo implícito con los operadores el string vacio se castea a 0. Con el doble bitwise ~~ puedes hacer interger overflow o que te retorne 0 con números grandes asique hay que tenerlo en cuenta. Por otro lado tiene la característica de castear a 0 valores como undefined o números con strings. Hay más operadores de bits que actual igual que el doble bitwise a la hora de castear.

También es recomendado utilizar mètodos/funciones cuando el código no queda claro o añadir comentarios al código.

Otro operador implícito es el ! o !! que puede utilizarse para castear valores falsos o verdaderos a sus contrapuestos o respectivos homólogos booleanos.

Precaución a la hora de hacer casteos a booleanos usando objetos. Por ejemplo en el código:
Código
  1. booleano = new Boolean(0);
  2. if (booleano) alert("Hola");
La condición se cumple ejecutando el alert debido a que exite un objeto. Lo que se debe hacer es usar Boolean(0) sin el new para que se haga el Autoboxing y obtener el valor booleano primitivo (y no un objeto referenciado Boolean con valor false que se evalua como true por existir el objeto). El operador !! también es una forma válida de no crear el objeto y obtener un booleano primitivo.

Otras conversiones incluyen operaciones con strings. Si bien el + concatena un número y un string, el resto de operadores unarios no siguen la misma norma.
var dos = "6" - "2" * "2";
656  Programación / Desarrollo Web / Re: Varios radio buttons en: 24 Abril 2020, 07:35 am
Al tener el mismo nombre automáticamente pasan a pertenecer al mismo grupo. Debido a lo cual se deseleccionan. La única forma es separar cada grupo dentro de un form. No sé que tipo de problemas puedas tener intentando hacer peticiones con name repetidos. No te es posible cambiarle el name en el cliente y en el backend juntar ambos? O leer con js el estado de los radios y mandar una petición a tu gusto? Con json haces lo mismo que haces ahora con el array recorriéndolo usando el operador array pero sin repetir el name.

Código
  1. <H5>SPOUSE</H5>
  2. <label class="radio inline">
  3. <input type="radio" name="coveragedep[]" id="optionsRadios3" value="1" <?php echo ($row[0]['coverrage'] == 1)?'checked':''; ?> ><b>Coverage Yes </b>
  4. </label>
  5. <label class="radio inline">
  6. <input type="radio" name="coveragedep[]" id="optionsRadios4" value="2" <?php echo ($row[0]['coverrage'] == 2)?'checked':''; ?>><b>Coverage No </b>
  7. </label>
  8. <label class="radio inline">
  9. <input type="radio" name="sexodep[]" id="optionsRadios3" value="1" <?php echo ($row[0]['sexo'] == 1)?'checked':''; ?>><b>Sex M </b>
  10. </label>
  11. <label class="radio inline">
  12. <input type="radio" name="sexodep[]" id="optionsRadios4" value="2" <?php echo ($row[0]['sexo'] == 2)?'checked':''; ?>><b>Sex F </b>
  13. </label>
  14. </form>
  15. <H5>DEPENDE 1</H5>
  16. <label class="radio inline">
  17. <input type="radio" name="coveragedep[]" id="optionsRadios5" value="1" <?php echo ($row[1]['coverrage'] == 1)?'checked':''; ?>><b>Coverage Yes </b>
  18. </label>
  19. <label class="radio inline">
  20. <input type="radio" name="coveragedep[]" id="optionsRadios6" value="2" <?php echo ($row[1]['coverrage'] == 2)?'checked':''; ?>><b>Coverage No </b>
  21. </label>
  22. <label class="radio inline">
  23. <input type="radio" name="sexodep[]" id="optionsRadios7" value="1" <?php echo ($row[1]['sexo'] == 1)?'checked':''; ?>><b>Sex M </b>
  24. </label>
  25. <label class="radio inline">
  26. <input type="radio" name="sexodep[]" id="optionsRadios8" value="2" <?php echo ($row[1]['sexo'] == 2)?'checked':''; ?>><b>Sex F </b>
  27. </label></form>
[/quote]
657  Foros Generales / Dudas Generales / Re: Descartar mitos sobre la deep web en: 24 Abril 2020, 00:59 am
Solo quisiera tener un poco mas de información acerca de ingresar a la deep web, ya que he buscado sobre esto en youtube pero en lo que dicen en la mayoría de vídeos parece ser mentira y estoy un poco confundido. Por ejemplo:
1. ¿hay algún peligro al ingresar a la deep web?
2. ¿debo tener algunas precauciones antes de entrar (como tener algún programa para evitar ataques o cambiar de sistema operativo)?
3. ¿ahí puedo aprender cosas de hacking sin censura (como tutoriales o en donde enseñen cosas que no permite google?

Muchas gracias.
1. Los mismos peligros que usar cualquier proxy de la web, que no son pocos.
Está lleno de estafadores, servicios engañosos y contenido que es ilegal su descarga. Y ojo, cuando visualizas una página aún sin saber que contiene, tu navegador descargará el contenido. Lo cual te puede meter en problemas.


2. No sabría darte ninguna útil relacionada con la seguridad a parte de no usar Tor y calquier otra medida que se aplique usualmente. Tampoco hagas nada que no haría en la red normal porque existe el browser fingerprint, sound beacons, dns leaks, etc.


3. Creo que lo único que puedes aprender que no esté en la clearnet es temas de ingeniería social y phishing. El resto de cosas incluyendo carding y similares se encuentran en la clearnet. Hay mucho fantoche hacker por los chats y le pasas un comando básico de la terminal y no saben lo que hace. También hay mucha trap tipo redirecciones hacia la clearnet para desanonimizar.


Como resumen no lo uses.
658  Programación / Programación C/C++ / Re: Problema al usar while en: 23 Abril 2020, 22:33 pm
No puedes hacer una comparación de un char de 1 dimension con un std::string, y cómo sabrías si el valor contiene otra letra y deba ser procesado para multiplicar o no?.
Es que no comparo con string. opcion es un char y 'y' también es un char literal.
Omito la comprobación porque considero que es innecesario para un programa sencillo para un usuario nuevo. En caso de necesitar forzosamente la comprobación usaría la función isDigit() de la librería ctype
 
http://www.cplusplus.com/reference/cctype/isdigit/
659  Programación / Programación C/C++ / Re: Problema al usar while en: 23 Abril 2020, 21:59 pm
Porque 0 para factorización si es un número válido, solo te quisiste ahorrar la validación numérica.

saludos.
Eso del 0 no lo sabía. Se puede meter un menú entonces antes de introducir el número. 1. Introducir número 2. Salir. O si quieres con letras. if(opcion == 'y') {} else if(opcion == 'n') {} else {cin >> opcion}


Más que nada es para no complicarle el código a alguien que empieza.
660  Foros Generales / Dudas Generales / Re: Necesito ayuda en una duda que tengo en: 23 Abril 2020, 21:36 pm
Probablemente las respuestas estén dentro del servidor.Tu mandas la respuesta, el servidor las compara con las respuestas correctas y te devuelve el resultado.


Para que extrapoles es como si tu escribieses en papel las respuestas y las metieses por debajo de una puerta cerrada. Alguien dentro agarra el papel, se va a su escritorio, corrige las respuestas y te devuelve el resultado por debajo de la puerta.


A tus ojos solo ves como mandas el papel por debajo de la puerta y como al rato sale corregido, no sabes ni quien lo corrige ni como.
Páginas: 1 ... 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [66] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 289
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines