beveiliging via wachtwoord

Status
Niet open voor verdere reacties.

Ferry1979

Gebruiker
Lid geworden
5 jun 2004
Berichten
28
Beste mensen.
op de site voor de VVE van mijn appartementen complex ("Flat" in de volksmond) heb ik een heel eenvoudige login gemaakt voor de pagina voor de technische commisie.
Omdat ik op de huidige server geen applets oid mag draaien ben ik verplicht tot java-scripting.

Om de login enigzins geheim te houden heb ik de source gescrambled.

Mijn vraag: Hoe eenvoudig is het nu om de login te achterhalen?

www.hertogjanvanbrabantflat.tk
klik in het menu op "technische commissie"

Als iemand dit eenvoudig weet te kraken, neem dan svp contact met me op via de site...
Verbeterings voorstellen altijd welkom!

Alvast bedankt..
Ferry
 
15 minuten... :)

Je kunt beter iets als dit doen:
Code:
<form onsubmit="location.href=this.id.value+'_'+this.pass.value+'.htm'; return false;">
 <input name="id" type="text" size="12" maxlength="10"><br>
 <input name="pass" type="password" size="12" maxlength="10"><br>
 <input type="submit" value="Login"><br>
</form>
Dit script stuurt de invuller door naar de pagina id_pass.htm


Houdoe! ;) Egel.
 
Code gekraakt.
We kunnen trouwens gewoon op de doel pagina die je krijgt als je een login en password hebt.

Greetz : Jer:cool:en.
 
beveiliging met wachtwoord

Jeroen en Egel,

Bedankt voor de reactie.
Ik had al gedacht dat het decoderen niet moeilijk moest zijn, wist alleen niet hoe.

Goed script van Egel. Ga ik gebruiken. Kan ik hiermee ook een verwijzing maken naar een gout pagina als de login niet goed is?
 
Code:
function login(f) {
 var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
 var c = (f.id.value + '_' + f.pass.value).toLowerCase();
 var t = 0;
 for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
 t = t % 41; if (c == '_') t = -1;
 // alert(t); // eerste dubbele / tijdelijk verwijderen bij nieuwe id of pass
 if (t == 20) location.href = c + '.htm'; else alert('Naam of Password fout!');
 return false;
 };


<form onsubmit="return login(this)">
 <input name="id" type="text" size="12" maxlength="10"><br>
 <input name="pass" type="password" size="12" maxlength="10"><br>
 <input type="submit" value="Login"><br>
</form>
Zie bijlage. :)

Het script genereerd een checksum, alleen als je twee typefouten maakt kan het zijn (1 op 41) dat er geen foutmelding komt maar een 'pagina niet gevonden'. De .toLowerCase() zorgt ervoor dat caps lock geen probleem is.


Vr.Gr. Egel.
 

Bijlagen

Laatst bewerkt:
toegang.html.txt

Hi,
Ik ben onervaren met dat beveiligings-scriptje: toegang.htlm.txt
Als ik hem als html bewaar werkt hij wel in de browser.
Maar geeft: naam of password fout
Als ik nu een bepaalde pagina hiermee wil beveiligen, waar zet ik dan dit scriptje?
En hoe vul ik nu een eigen gbruikersnaam en wachtwoord in zodat hij doorloopt naar die bepaalde pagina?
Gaarne uitleg aan een leek.
Bedankt
 
Bij deze zin haal je tijdelijk de eerste twee / weg

// alert(t); // eerste dubbele / tijdelijk verwijderen bij nieuwe id of pass

dan vul je de id en pass in die je wilt gebruiken, bv a & b. Als je dan op login klikt krijg je een popup met getal te zien, bv 7, dat vul je in de volgende zin in:

if (t == 7) location.href = c + '.htm'; else alert('Naam of Password fout!');

en de 'beveiligde' pagina noem je dan a_b.html met ipv a en b je gekozen naam en wachtwoord. (kleine letters gebruiken)

Het javascript zet je in de head van de toegangspagina, en het formulier in de body. Als je het goed invuld word de toegangs pagina vervangen door de beveiligde pagina.


Vr.Gr. Egel.
 
Ik ga het eens proberen.
Is echt abacadabra maar zal een poging doen.
 
Ik heb het volgende gedaan.

<html>
<head>
<title>Testpagina</title>
<script language="JavaScript">
function login(f) {
var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
var c = (f.id.value + '_' + f.pass.value).toLowerCase();
var t = 0;
for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
t = t % 41; if (c == '_') t = -1;
//alert(t); // eerste dubbele / tijdelijk verwijderen bij nieuwe id of pass
if (t == -1) location.href = c + 'Testpagina.htm'; else alert('Naam of Password fout!');
return false;
};
</script>
</head>
<body>
<form onsubmit="return login(this)">
<input name="id" type="Jan1" size="12" maxlength="10"><br>
<input name="pass" type="Wacht1" size="12" maxlength="10"><br>
<input type="submit" value="Login"><br>
</form>
</body>
</html>


Vóór de wijzigingen van id en pasword de 2 // voor alert weggehaald.
Toen Jan1 en Wacht1 ingevuld.
Een testformulier gemaakt (Testformulier.htm)
Toe in de browser op login gedrukt en kreeg het getal -1 te zien.
Dat ingevuld en de 2 // teruggezet.
Weer bewaard maar geeft nu naam of password fout!
Wat doe ik fout:confused:
 
Ik bedoelde naam en wachtwoord invullen via je browser, dat stond er idd niet helemaal duidelijk. :)

attachment.php


Als je dan op login drukt terwijl de // weg zijn krijg je het getal te zien dat je in de volgende zin invuld als (t == 17), daarna zet je de // er weer voor.

Het script laat dan alle naam en wachtwoord combinaties die het getal 17 genereren door. Maar naam en wachtwoord zelf moet je nergens invullen in de broncode.


Vr.Gr. Egel.
 

Bijlagen

  • naam_wachtwoord.gif
    naam_wachtwoord.gif
    4 KB · Weergaven: 205
Laatst bewerkt:
Hi,
Ik ga het nog eens proberen.

Is dit eigenlijk wel goed?
Want dit moet steeds een andere pagina worden!
if (t == -1) location.href = c + 'Testpagina.htm'; else alert('Naam of Password fout!');


Kun je misschien een demootje maken, waar precies het script en het formulier moet komen te staan, want als ik dast doe zie ik en het loginvenstertje EN het formulier, dat pas zichtbaar moet worden ná invoer van gebruikersnaam en wachtwoord.

Het is de bedoeling dat meerdere gebruikers een eigen (reeds bestaande) pagina kunnen openen.

Bedankt
 
Ik heb gebruikersnaam jantje en wachtwoord test laten maken: ik kreeg in de browser het getal 9 dat ik heb ingevuld.
Het script heb ik in de header en het formulier in de body gezet van het te beveiligen formulier.

De pagina heb ik jantje_test.html genoemd, maar krijg in de browser nu het inlofschermpje EN de tekst van het te beveiligen formulier te zien:

Onderstaande gedaan
Wat doe ik fout???





<html>

<head>


<title>Toegang Script - Jantje</title>
<script language="JavaScript">
function login(f) {
var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
var c = (f.id.value + '_' + f.pass.value).toLowerCase();
var t = 0;
for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
t = t % 41; if (c == '_') t = -1;
//alert(t); // eerste dubbele / tijdelijk verwijderen bij nieuwe id of pass
if (t == 9) location.href = c + '.htm'; else alert('Naam of Password fout!');
return false;
};
</script>

<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nieuwe pagina 1</title>
</head>

<body>

<form onsubmit="return login(this)">
<input name="id" type="text" size="12" maxlength="10"><br>
<input name="pass" type="password" size="12" maxlength="10"><br>
<input type="submit" value="Login"><br>
</form>


<p>Pagina van Jantje:</p>
<p>&nbsp;</p>
<p>Hier komt vertrouwelijke tekst</p>

</body>

</html>
 

Bijlagen

  • scherm.jpg
    scherm.jpg
    6,5 KB · Weergaven: 48
Kan ik hiermee bijv 18 gebruikers (met wachtwoord)naar een eigen pagina laten inloggen?
 
http://www.mtopsoft.com/htmllock/index.htm

Hiermee kun je één of meerdere pagina's of een map met pagina's beveiligen. Je kunt iedereen zn eigen loginnaam en wachtwoord geven of één wachtwoord die voor iedereen hetzelfde is.

Iedereen zn eigen pagina met bijbehorende login en wachtwoord is dus ook mogelijk alleen is dat wellicht iets meer werk.

Het is zeker de moeite waard om het uit te proberen. Ik heb het gebruikt voor de kalender die ik voor een school bijhoud.

De login pagina kun je qua kleur ed. aanpassen naar je eigen wensen.
 
ps.

De bron van de pagina wordt versleuteld en uit veiligheidsoverwegingen (3x woordwaarde) wordt een copy van het origineel gemaakt (optioneel!)
 
Eea geprobeerd, werkt goed.
Jammer dat het een evaluatieversie is:(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan