PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JS Hackit - Hilfe



cyberleek
03.01.2018, 11:18
Moiin an alle..

Ich bin ein absoluter N00b was JS angeht, jedoch wollt ich bei folgendem Hackit mal gucken wie weit ich komme ^^
Bin nun bei Level 4 und bin stecken geblieben xD Es geht um folgendes :



function validate()
{
var pw="%25252525252525252526";

var str=document.getElementById("pw").value;
for (var i=0;i<10;i++)
{
str=escape(str);
}

var s = (str==pw) ? true : false;
if (!s) alert("FAIL");

return s;



Kann da mal einer den Code entsprechend kommentieren?
Werde nicht ganz schlau draus, bzw krieg nicht das gewünschte Pw / Variable "s" nicht.

Link : https://d-mueller.de/hackit/ <--- Level 1
Link : https://d-mueller.de/hackit/iuhwrtwr4.php <-- Level 4 (von da der Code)

Nimbus
03.01.2018, 11:31
Woran scheitert es denn? Verstehst du nur nicht, wie das s zu Stande kommt oder schon den Teil davor nicht?
Würde dir zwar gerne den ganzen Code kommentieren, aber das nimmt ja irgendwie den ganzen Spaß.

GipsyDanger
03.01.2018, 12:13
Das passwort ist "&"

str='%25252525252525252526';
for (var i=0;i<10;i++){
str=unescape(str);
}
console.log(str);

Nimbus
03.01.2018, 12:47
Die Lösung und unkommentierter Code, der nicht viel aufschlussreicher ist als die Aufgabe, ist bestimmt das, was der TE will...

Celv
03.01.2018, 13:03
var pw="%25252525252525252526"; // Escaped-String wird in Variable pw gespeichert.

var str=document.getElementById("pw").value; // Str-Variable wird mit dem inhalt des Input-Felds mit der id pw gefüllt
for (var i=0;i<10;i++) //For-Schleife unnötig, dient nur zu verwirrung
{
str=escape(str); //Inhalt der Str-VAriable wird escaped und überschreibt sich selber.
}

var s = (str==pw) ? true : false; // Falls str = pw ist, dann s = true. Wenn nicht dann s= false
if (!s) alert("FAIL"); // Wenn s = false, dann popup Alert

return s;

Nimbus
03.01.2018, 13:14
Falsche Erklärungen sind auch nicht optimal... die Schleife ist wichtig. Es macht nämlich einen Unterschied, ob man den String einfach oder zehnfach mit escape behandelt.

Celv
03.01.2018, 19:01
Falsche Erklärungen sind auch nicht optimal... die Schleife ist wichtig. Es macht nämlich einen Unterschied, ob man den String einfach oder zehnfach mit escape behandelt.

Hast recht, nicht ganz dran gedacht, dass das escapte escaped wird.

pythonfreak
03.01.2018, 21:27
Bei jedem Schleifendurchlauf wird der string wieder escaped...


%25252525252525252526
%252525252525252526
%2525252525252526
%25252525252526
%252525252526
%2525252526
%25252526
%252526
%2526
%26

escaped man %26 beim letzten Schleifendurchlauf bekommt man als Lösung &

cyberleek
03.01.2018, 21:29
Bei jedem Schleifendurchlauf wird der string wieder escaped...


%25252525252525252526
%252525252525252526
%2525252525252526
%25252525252526
%252525252526
%2525252526
%25252526
%252526
%2526
%26

escaped man %26 beim letzten Schleifendurchlauf bekommt man als Lösung &

Danke & nochmal Danke