2004-03-07, 22:42
  #1
Medlem
Hej på er

Hur pass säkert är egentligen JAVA-Script, som tex detta går det att tyda lsöenordet utifrån detta? Tacksam för hjälp

var checkSum = 12;

function iicsa(ch){
var test = "_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl mnopqrstuvwxyz";
return test.indexOf(ch);
}
function checkPass(){
var passWd = "";
passWd += prompt("Ange lösenord","");
var q = 0;
for (n=0; n<passWd.length;n++){
q = q ^ iicsa(passWd.charAt(n));
}
if (q == checkSum){
location.href=passWd;
} else {
alert("Felaktigt lösenord");
}

Mvh

/M
Citera
2004-03-08, 00:50
  #2
Moderator
Ruskigbusss avatar
Hmmm ....

Fattar inte koden

q är ju det som skall bli = checksum, dvs = 12

Men q sätts till 0 i början och sedan

q = q ^ iicsa(passWd.charAt(n));

Men oavsett vad iicsa blir så blir ju q=0
(T ex 0^3 = 0*0*0 = 0 )

Så - med det här skriptet så kommer du aldrig att få komma in.

Om nu detta var felskrivet - så kommer ju en komplikation till:
Antar att det kan finnas flera lösenord som ger checksumman = 12
och den skickar dig ju vidare till en sida som heter som lösenordet.

Ok - om det finns 100 möjliga sidor kan man ju testa (med ett skript),
men om det finns 100 miljoner varianter - blir det ju lite jobbigt.
Citera
2004-03-08, 05:33
  #3
Bannlyst
ungefär lika ful som den här->
Kod:
function encode (OrigString, CipherVal) {

	Ref="0123456789ibwdefghajklmnopqrstuvcxyz._~VBCDEFMHIJKLGNOPQRSTUAWXYZ"

	CipherVal = parseInt(CipherVal)

	var Temp=""

	for (Count=0; Count < OrigString.length; Count++) {

		var TempChar = OrigString.substring (Count, Count+1)

		var Conv = cton(TempChar)

		var Cipher=Conv^CipherVal

		Cipher=ntoc(Cipher)

		Temp += Cipher

// window.alert("TempChar is " + TempChar + " and Conv is " + Conv + " and Cipher is " + Cipher);



	}



	return (Temp)

}
däremot ska den här vara omöjlig o knäcka. (förutom brute force eller allmän dumhet)
Citera
2004-03-08, 09:47
  #4
Medlem
Stockos avatar
Citat:
Ursprungligen postat av Ruskigbuss
q = q ^ iicsa(passWd.charAt(n));

Men oavsett vad iicsa blir så blir ju q=0
(T ex 0^3 = 0*0*0 = 0 )

Nej, ^ är inte upphöjt till utan binär xor.
Citera
2004-03-08, 09:53
  #5
Moderator
Ruskigbusss avatar
Citat:
Ursprungligen postat av Stocko
Nej, ^ är inte upphöjt till utan binär xor.

Det var det jävligaste! (Du har givetvis rätt, men skaparna av Javascript måste ha fått en blackout.)

Jaha, jag som trodde jag kunde Javascript. :mad:
Citera
2004-03-08, 10:24
  #6
Medlem
Stockos avatar
Citat:
Ursprungligen postat av Ruskigbuss
Det var det jävligaste! (Du har givetvis rätt, men skaparna av Javascript måste ha fått en blackout.)

Jaha, jag som trodde jag kunde Javascript. :mad:

Det är samma i C, C++, Java, C#, PHP och säkert en hel massa andra språk också =)
Citera
2004-03-08, 11:46
  #7
Moderator
Ruskigbusss avatar
Citat:
Ursprungligen postat av Stocko
Det är samma i C, C++, Java, C#, PHP och säkert en hel massa andra språk också =)

Du har givetvis rätt här också.

Avslöjar väl min VB-bakgrund, men i VB, VBA,VBScript,T-SQL så heter det Xor och upphöjt till = ^ vilket jag tycker är mera logiskt.

Egentligen är det nog mitt första språk Pascal som spökar ..

Liksom i andra mera udda språk som Core5, Phoenix Object Basic (ok vb för linux), LotusScript ...

Nåja, alltså är det skaparna av C som fick hjärnblödning, eller så ingick det i konceptet att göra det så svårläst kod som möjligt.

Edit: Det finns fler med problem, i Mathematica så heter det "V"
Citera
2004-03-08, 14:30
  #8
Medlem
Fungerar koden, så ger den en relativt hög säkerhet. Inga n00bs kommer då genom, men programmeringskunniga personer kan skriva om algoritmen (eftersom den är fullt tillgänglig för klienten) i ett snabbare språk och brute forca den för att se alla lösenord som ger rätt kontrollsumma. Ska du använda den metoden för att skydda ett lösenord, så välj lösenordets längd beroende på hur datorkunniga personer som kan tänkas försöka ta sig in på sidan.
Citera
2004-03-08, 14:37
  #9
Medlem
Tack för svaren, koden kommer från en sida där man skall skicka ett SMS för att få passwordet. Med andra ord så verkar det svårt utan att köra bruteforce med mera att komma in om jag förstår er rätt? Är själv ingen programerare...

Mvh

/M
Citera
2004-03-08, 14:41
  #10
Bannlyst
n00b trix: använd google: sökrefräng: "site:http://sms_sidan.com sms" utan "" och med den korrekta adressen så kanske du får upp den sidan du vill ha..
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in