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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 280
141  Foros Generales / Dudas Generales / Re: Alguna duda o pregunta que quieran realizar? en: 10 Enero 2021, 04:00 am

Por donde empezarias en este mundillo si no quisieras gastarte un duro.
Si no quieres gastarte un duro tira por la descarga de libros gratuitos y videos de youtube. Practica en páginas de hacking como hackthissite.org y root-me.org, aprende programación, haz ctfs, lee blogs y sigue a los más reconocidos por twitter ya que publican contenido interesante así como sus propios blogs de seguridad. En este punto ya puedes encontrar fallos de seguridad en empresas con millones de visitas y obtener remuneración. Lo más importante es la constancia. Aprende de forma moderada para no quemarte. Estimo que lo idoneo son de 2 a 4 horas diarias con 5 minutos de descanso cada 40 mins. Puedes forzar muchísimo más la máquina pero a la larga no compensa. Hay que vivir la vida también, hacer deporte, relajarse, reflexionar...
142  Programación / Desarrollo Web / Tutorial básico de Quickjs en: 9 Enero 2021, 03:38 am
Tutorial básico de quickjs.

Qué es:
Quickjs es un entorno de ejecución (motor) de javascript que cumple en gran medida con el estandar de javascript.

Sirve para interpretar, ejecutar o compilar codigo javascript.


Cómo se compara a Node.js y a Chrome:
Quickjs es mucho más pequeño que node o v8. Se ejecuta de forma rápida sin esperar al cargar scripts y ocupa poco espacio, lo que lo hace ideal para crear pequeños scripts y utilidades para la consola de comandos de Linux, Windows o Termux.
                                                     
Como se instala:
Puedes descargarlo de su página oficial, de github y compilarlo o utilizando apt-get install quickjs


A parte del javascript estandar que más trae:
Trae 2 librerías preinstaladas que podemos importar. std y os.
La librería std trae varias funciones del lenguaje de C y la librería os trae hilos, funciones para abrir procesos, y varias utilidades.


Al lio:
holaMundo.js
Código
  1. console.log("Hola mundo");

Puedes ejecutarlo con el comando qjs holaMundo.js
También puedes compilarlo con qjsc -o holaMundo holaMundo.js


correrCualquierComando.js
Código
  1. import * as std from "std";
  2. let run = comando => {
  3.  let prog = std.popen(comando, "r");
  4.  let r, msg = "";
  5.  while ((r = prog.getline()) != null) {
  6.    msg += r + "\n";
  7.  }
  8.  return msg;
  9. }
  10.  
  11. console.log( run("ls") );
  12. console.log( run("ls && pwd") );


generadorDeArchivos.js
Código
  1. import * as std from "std";
  2. console.log(`Generador de archivos 2021
  3.  
  4. Genera el esqueleto de archivos para no tener que escribir a mano partes recurrentes de archivos comunes.
  5.  
  6.  
  7. 1. Proyecto HTML
  8. 2. Reporte de Seguridad
  9.  
  10. Selecciona el número correspondiente a la opción que deseas.`);
  11.  
  12. let opcionUsuario = +std.in.getline();
  13.  
  14. if (opcionUsuario === 1) {
  15.  let fd = std.open("index.html", "w");
  16.  fd.puts(`<!DOCTYPE html>
  17. <html lang="en">
  18.  <head prefix="og:http://ogp.me/ns#">
  19.    <meta charset="utf-8">
  20.    <link rel="icon" href="data:;base64,iVBORw0KGgo=">
  21.    <title>Index.html</title>
  22.    <!--
  23.      <meta property="og:type" content="website">
  24.    -->
  25.    <link rel="stylesheet" href="./code.css">
  26.    <meta name="theme-color" content="#ffffff">
  27.  </head>
  28.  
  29.  <body>
  30.  
  31.  
  32.    <script src="./main.js"></script>
  33.  </body>
  34. </html>`);
  35.  fd.close();
  36.  
  37.  fd = std.open("main.js", "w");
  38.  fd.close();
  39.  
  40.  fd = std.open("code.css", "w");
  41.  fd.puts(`body {
  42.  margin: 0 0 0 0; /* Remove ugly left side border */
  43.  text-size-adjust: none; /* Fix Android Big Text */
  44.  text-rendering: optimizeLegibility; /* Improve text */
  45. }
  46.  
  47.  /* Media query */
  48.  @media (min-width: 0px) and (orientation:landscape) {
  49.  body {
  50.    font-size: 1.1vw;
  51.  }
  52. }`);
  53.  fd.close();
  54. } else if (opcionUsuario === 2) {
  55.  console.log("Esta opción se programará en el futuro");
  56. }



scraper.js
Código
  1. import * as std from "std";
  2.  
  3. let run = comando => {
  4.  let prog = std.popen(comando, "r");
  5.  let r, msg = "";
  6.  while ((r = prog.getline()) != null) {
  7.    msg += r + "\n";
  8.  }
  9.  return msg;
  10. }
  11.  
  12. let getTargetAndSelector = () => {
  13.  let returnValues = {};
  14.  for(let i in scriptArgs) {
  15.    if (scriptArgs[i] == "-t" || scriptArgs[i] == "--target") {
  16.      returnValues.target = scriptArgs[+i+1];
  17.    } else if (scriptArgs[i] == "-s" || scriptArgs[i] == "--selector") {
  18.      returnValues.selector = scriptArgs[+i+1];
  19.    }
  20.  }
  21.  if (returnValues.target && returnValues.selector) {
  22.    return [returnValues.target, returnValues.selector];
  23.  } else {
  24.    throw `Usage:
  25. -t  --target  Url to download
  26. -s  --selector Selector to use
  27.  
  28. Example: qjs scraper.js -t https://example.com -s h1`;
  29.  }
  30. }
  31.  
  32.  
  33. let result = run(`curl ${getTargetAndSelector()[0]} -A "Mozilla/5.0" --silent | pup ${getTargetAndSelector()[1]}`);
  34. console.log(result);

Puedes compilarlos y meterlos en bin y darle permisos para usarlos como cualquier otro comando sin necesidad de estar en la misma carpeta que el código.
qjsc -o scraper scraper.js && cp scraper ~/../usr/bin/ && chmod +775 ~/../usr/bin/scraper
scraper -t https://example.com -s a



Documentación Official Quickjs: https://bellard.org/quickjs/quickjs.html


Documentación Herramienta Pup para usar selectores en la linea de comandos: https://github.com/ericchiang/pup
143  Programación / Desarrollo Web / Re: [Aporte] javascript - Proporción de números en: 9 Enero 2021, 02:03 am
Qué recuerdos del colegio. Ahí va mi forma de hacerlo:
Código
  1. let proporcion = (...nums) => {
  2.  let greater, less = 0, equal = 0;
  3.  
  4.  for(let i in nums) {
  5.    nums[i] < 0 && ++less;
  6.    nums[i] == 0 && ++equal;
  7.  }
  8.  
  9.  greater = ( nums.length - (less + equal) ) / nums.length;
  10.  less /= nums.length;
  11.  equal /= nums.length;
  12.  
  13.  return [greater, less, equal];
  14. }
  15.  
  16. alert(proporcion(-5, 5, 4, 3, 2, 1, 0, -1));
144  Seguridad Informática / Seguridad / Re: La app y extension LastPass es segura y fiable? en: 5 Enero 2021, 00:49 am
Yo solo tengo una contraseña. La del correo. La del resto de servicios las pongo random y las regenero cada vez que necesito hacer login.

Algunos servicios te dejan directamente acceder mediante link de correo sin necesidad de establecer contraseña. (Firebase te deja esta opción por ejemplo)
145  Programación / Desarrollo Web / Re: [Pregunta]: Definir un arreglo vacío (javascript). en: 4 Enero 2021, 05:25 am
Que se supone que quieres saberbo hacer?

El titulo de tu pregunta es como declarar un array vacio y ya lo estás haciendo.

En tu código tienes un bucle de 0 al tamaño del array vacio, que también es 0. Asique tu bucle hace 0 iteraciones, o lo que es lo mismo, no hace nada.

Aunque iterases una vez el bucle, estás haciendo append de un elemento de una array que no tiene elementos. El array no tiene dentro []. No tiene nada dentro. [] Es para delimitar los elementos que pertenecen al array.
var myArray = [1, 3];

Pregunta algo concreto o muestra el problema que quieres resolver.
146  Foros Generales / Dudas Generales / Re: [MOD] restringir webs con datos móvil en: 30 Diciembre 2020, 01:04 am
Si se lo quiere jugar todo, hasta sus órganos, es su vida.

Ha estado trabajando toda la vida para que pueda hacer con su dinero y sus propiedades lo que le de la gana.

Consulta a un abogado para que evalue la situación de tu aval a ver si tienes alguna clausula (que dudo mucho que tengas porque la mayoria firma palante y después llora) para dejar de ser aval.

En caso contrario la única salida legal es intentar negociar con la entidad bancaria, que no está obligada a absolutamente nada.

147  Programación / Programación C/C++ / Re: [?] Crear un terminal mediante código. en: 29 Diciembre 2020, 21:12 pm
Se llama reverse shell. Puedes usar funciones como popen y system entre otras.

Simplemente mandas el texto desde el servidor al cliente, en el cliente lo ejecutas con popen y mandas la respuesta del comando al servidor.
148  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Re: Dos dudas, no puedo instalar apps en playstore y no me reconoce la sim en la tablet! en: 26 Diciembre 2020, 13:18 pm
La cuenta agrégala en Ajustes -> Cuentas -> Añadir Cuenta.
149  Programación / Scripting / Re: Función especial en python en: 24 Diciembre 2020, 09:17 am
Es el constructor de una clase. https://stackoverflow.com/questions/8609153/why-do-we-use-init-in-python-classes/8609238#8609238
150  Foros Generales / Foro Libre / Re: Os importa mas lo que piensa la gente (conocidos) que los propios de casa? en: 24 Diciembre 2020, 09:12 am
Me importa lo que pienso yo xD
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 280
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines