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 - @XSStringManolo

#701
Scripting / Re: crypter y decrypter base64
16 Marzo 2020, 21:16 PM
En el navegador sin cambiar de página escribir en la barra de direcciones.
Cifrar:
avascript:alert(btoa(prompt()))

Descifrar:
avascript:alert(atob(prompt()))

Falta la j de javascript porque el firewall del foro salta.
#702
Cuando no quieras repetir las ocurrencias utiliza un set (plantilla de la STL) en lugar de un array. En muchos casos puedes hacer la cuenta de los elementos mientras los intrlduces en el set para contar las ocurrencias si ni te interesa conservarlas.

También puedes usar un array y recorrer todo el array por cada vez que introduzcas un elemento. Una forma sencilla es usando el método find con los métodos end y append/push. Es más eficiente meter todos los elementos en el array y removerlos usando regex, tienes varias alternativas válidas para hacer lo mismo.
#703
Cita de: JuisitoFelix en 16 Marzo 2020, 18:40 PM
Cita de: @XSStringManolo en 29 Junio 2019, 11:03 AM

Gracias por el aporte! como haces para leerlo, pones en prácticas los conocimientos aprendidos en los libros que te lees a medida que te lees el libro o directamente vas a saco te lo lees tomas anotaciones y te quedas con lo mas importante?

Y como decides que libros leer? es por curiosidad? para amplicar conocimientos que van a mejorar tu trabajo?

Aquí tienes un fan  ;-)

El método más efectivo que encontré para asimilar, comprender en profundidad y aplicar los conocimientos es ir traduciendo oración a oración cada frase del inglés al español. Cuando no comprendas un concepto o quieras ampliar búscalo en google/wikipedia.


De forma más asidua voy leyendo capítulo a capítulo y tomando apuntes de lo que no sabía o no comprendía, o me pareció más interesante. También depende muncho de si el libro es sobre algo de lo que no tengo ni la menor idea, de algo que más o menos conozco o de algo que ya conozco en detalle y quiero enfocarlo de forma más académica.
Si es algo de lo que no tengo ni idea: En estos días estoy leyendo el libro Introduction to vue.js (un framework progresivo). No tengo absolutamene ningún conocimiento en frameworks de javascript entonces el enfoque que estoy tomando es repetir la lectura de los 2 primeros capítulos para familiarizarme con la temática. Tras lo cual estoy buscando fuentes con información más concreta como el tutorial de vuejs.org, escribiendo los códigos de los ejemplos para asimilarlos y recordarlos y buscando ejemplos sencillos como los de tutozine.com entender el código y replicar los ejemplos de memoria.

En los casos que entiendo en buena medida la información voy tomando apuntes de todo lo nuevo, amplio la información, experimento..
Por ejemplo una las cosas por las que me interesé últimamente es la diferencia entre parseInt(), Number(), +X, X-0 y otros operadores de tipos.

En los casos en los que prácticamente conozco todo el contenido suelo leer hasta que saco el contexto de todo el parágrafo para refrescar.

Leo principalmente porque me interesa, siendo la curiosidad lo que más me llama. Por otro lado también me fuerzo a leer porque tengo experiencia en que cuanto más uno conoce sobre un tema y en más detalle, más lo disfruta. Quien nunca lo ha experimentado en ningún campo ni temática de verdad debería enfocarse en algo porque es precioso. Empiezas a entender a la gente apasionada, lo que significa pasión y disfrutar. Busco esto con la programación. No son ni 100 ni 1000 horas las que hacen falta para llegar a este punto pero cuando lleves algunas más es cuando empiezas a disfrutar del esfuerzo.

Últimamente tengo esa indecisión de si debería enfocarme en lo que más me gusta a pesar de que pueda llegar a pasarlo mal económicamente para en un futuro lejano ser alguien relevante en la materia y disfrutarlo más o especializarme en algo que busca el mercado y para lo que sé que con mucha más probabilidad tendré un hueco.

Ando un poco a medias tintas entre ambas. Tengo claro que lo mejor para el futuro es enfocarse en la segunda, especializarse en lo que busca el mercado. Por preferencia personal tiraría más por la primera. Creo que iré zumando de un lado a otro y evaluar más adelante un giro completo.



#704
Es una p**a verguenza que con 26 años no pueda salir con la bici por el monte en un pueblo porque ***** subnormales se fuesen a la terraza a tocar las mesas con las manazas y después quitarse los mocos.

Después se van las viejas al super a tocar todo con las manos y dejarlo en el sitio, la policía sin mascarillas a multar a peña que sale SOLA a correr y los sanitarios más llenos de coronavirus que China porque al gobierno le sudaba los cojones a atender a viejos de 90 años. Somos de los paises más lejanos de China y estamos en el top 5 de infectados.

Después Pablito va infectado al congreso de ministros.

Esto es lo que quieres estos hdp, crisis como en Venezuela para hacer lo que les salga de los huevos. Qué verguenza de gentuza. Cuanto más mal más votos a políticos. Ya lo dijo Rajoy.
#705
en dudas generales tienes un listado
#706
Necesitas un proxy externo
#707
Hacking / Re: Libros que recomienden?
14 Marzo 2020, 14:42 PM
En dudas generales tienes un listado
#708
Me da la impresión que en los últimos años se intenta demonizar a españa desde la visión global.

Para qué? Las cosas no van a ir bien a nivel nacional por aquí y cuanta más antipatía se genere más alejada se va a ver la situación que puesa envolver a España.
#709
Si te gusta trabajar con comandos usa Linux. En Linux haces de todo desde la terminal.
#710
Llevo tiempo intentando hacer uno, pero nunca lo consigo xD

Os dejo mi último intento por si veis alguna forma de arreglarlo o conoceis algun algoritmo que me sea sencillo de implementar o copiar.

Código (javascript) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

<script>
function bruteforce(mainUrl, longitud, dictio) {
  var directories = [];
  var increaseSize = false;
  var tmpUrl = mainUrl;
  var permanecerEnBucle = true;
  var posicionCambio = "";
var dict = dictio || " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890/-.?=_";
/* var dict = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890/-.?=_";
  dict = "abcdefghijklmnñopqrstuvwxyz";
*/var tmp, fuck = "", sigChar, wtf;
  dict = dict.split("");

/*  longitud *= dict.length;     */    /* Max Length of the directory without domain */

  for(var i = 0, j=0, k=0; i < longitud; ++i, ++j) {
    directories[i] = mainUrl + dict[j];          /* Append current character to base url */
    tmp = directories[i].substring((mainUrl.length-k), directories[i].length);          /* current directory without path */
    if (j == (dict.length-1)) {          /* Last character of the dictionary */
      j = -1;          /* Reset dictionary itherator. j = 0 next ither */
      if(tmp[(tmp.length-1)] == dict[(dict.length-1)]) {          /* Check lf Last char of current directory without path matches last dictionary char */
        permanecerEnBucle=true;          /* reset loop */
        posicionCambio = "";          /* reset diff ocurrences */
        for(var a = 0; a < tmp.length; ++a) {          /* Loop over directories no path included */
          if((tmp[a] == dict[(dict.length-1)]) && (permanecerEnBucle == true)) {          /* if all characters in the directorie name match last dictionary character */
            increaseSize = true;         
          } else {
            posicionCambio += a.toString();          /* Log first non dictionary end char possition */
          increaseSize = false;
            permanecerEnBucle = false;          /* Force increaseSize to remain false */
          }
        }
        if (increaseSize) {
          for(var c = 0, restart=""; c < tmp.length; ++c) {          /* for each char in tmp */
            restart += dict[0];          /* Add first dictionary ocurrence  */
          }
          mainUrl = tmpUrl + restart;          /* Add the new generated path to main url */
          ++k;          /* Count size increased */
          increaseSize = false;          /* done */
          } else {
                      /* If all chars not matching last dicctionary char */
            if (tmp === undefined) {          /* need to debug */
              alert("tmp undefined");
              tmp = "";
            }
/*alert(tmp);*/

  sigChar = dict.indexOf(tmp[(posicionCambio[0])]);


        /*    sigChar = dict.indexOf(tmp[0]);*/          /* Get actual character position inside dictionary */
            ++sigChar;          /* Get next character */
/*alert("Char actual = " + sigChar);*/
/*alert("Current: "+ directories[i] + "\n\nnext char " + dict[sigChar] + "\n\nPosition: " + posicionCambio[((posicionCambio.length-1)-1)]);*/
            for(var d = 0, fuck = ""; d < (tmp.length-1); ++d) {         
              if(d != posicionCambio[0] ) {          /* get path characters */
                fuck += tmp[d];
/*alert("if fuck = "+ fuck);*/
              } else {
                fuck += dict[sigChar];          /* get next character in rigth position */
/*alert("else fuck = "+ fuck);*/
              }
            }
            wtf = fuck.split("").reverse().join("");            /* Reversing string trying to fix the character in rigth position */
            mainUrl = tmpUrl + wtf;          /* Appending reversed dirname to url */
          }
        }
      }
    } 
alert("Número de combinaciones generadas: " + directories.length);
alert("Número de letras en total: " + directories.join("").length);
  return directories;          /* Return all urls generated. */
}

var url = prompt("URL.\n\nExample: https://facebook.com/");
var lengt = prompt("Number os results.\n\nExample: 10");
var dictionary = prompt("Dictionary.\n\nExample: abcde12345!@#$ or accept to use default");

var arrDirs = bruteforce(url, lengt, dictionary);
document.write(arrDirs);

</script>
</body>
</html>