Ho letto ke mettere come password un javascript esterno nn è mai troppo sicuro...
ma come si fa a beccarla??? :mavieni:
Ho letto ke mettere come password un javascript esterno nn è mai troppo sicuro...
ma come si fa a beccarla??? :mavieni:
cosa intendi per password javascript esterno ??? Sii più chiaro plz..
Se ci pensi è semplice, ma forse qui è meglio parlare di come difendersi che di come beccare le password, non credi?Originariamente inviato da maiosyet
Ho letto ke mettere come password un javascript esterno nn è mai troppo sicuro...
ma come si fa a beccarla??? :mavieni:
Non si sa mai, magari qualche malintenzionato si aggira nei paraggi...
yuk...
ci ho pensto un po'...ho capit come si fa ma...
sinceramente a me piacerebbe di più sapere come aggirare un sistema di protezione ke come crearne uno sicuro!!
(ke poi alla lunga è la stessa cosa :tongue: )
fare un sistema di password in js è come nascondere le chiavi di casa in tasca del ladro...Originariamente inviato da maiosyet
Ho letto ke mettere come password un javascript esterno nn è mai troppo sicuro...
ma come si fa a beccarla??? :mavieni:
l'autenticazione va fatta sul server e non sul client!!!!
Lato client semmai la password va eventualmente criptata per evitare intercettazioni tra client e server
Leggi il REGOLAMENTO!
E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
Drugo
Beh, credo che sia più divertente per tutti, ma questo è un forum sulla sicurezza informatica, non sull'Insicurezza informaticaOriginariamente inviato da maiosyet
yuk...
ci ho pensto un po'...ho capit come si fa ma...
sinceramente a me piacerebbe di più sapere come aggirare un sistema di protezione ke come crearne uno sicuro!!
(ke poi alla lunga è la stessa cosa :tongue: )
ok...allora ditemi una cosa
ho trovato questa pwd: è sicura?
////////////////////////////////////////////////////////
function submitentry(){
password = document.password1.password2.value.toLowerCase()
pass = 1
for(i = 0; i < password.length; i++) {
pass *= password.charCodeAt(i);
}
if(pass == 145432 || pass == 148400 || pass == 151368 || pass == 154336 || pass == 108130600 || pass == 157304 || pass == 13819008 || pass == 13961472 || pass == 151368){
window.location=password+".htm"}
else{
alert("Password non corretta")}
}
///////////////////////////////////////////////////////
come funziona?
può essere aggirata? e se si come?
(quante domande... )
grazie a tutti
se leggi il codice lo capisci anche tu come funziona...
si calcola un valore pass che è il prodotto dei codici ascii della password che hai immesso e la confronta con alcuni valori impostati nell if (sinceramente non so perchè ce ne sia più di uno). Se il tuo valore corrisponde ad uno di quelli allora richiama la pagina a cui devi accedere il cui nome è dato dalla password a cui è stato aggiunto il suffisso '.htm' Questa ultima cosa garantisce che se la password è 'CIAO' ma tu digiti 'CAIO' la pagina non viene caricata anche se il valore di pass è corretto.
La sicurezza in questo caso si basa sul fatto che dato un prodotto è difficile risalire ai suoi fattori soprattutto se non si sà quanti questi siano... e poi dovresti anche ordinarli nel modo giusto.
In realtà non so dirti QUANTO questo metodo sia sicuro.
Leggi il REGOLAMENTO!
E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
Drugo
Pensandoci bene....
Rimango dell'opinione che nessuna autenticazione lato client possa essere sicura quanto una lato server....
Il sistema di autenticazione sembra interessante ma in fondo in fondo molto facile da crackare...
La presenza di più controlli nell'IF implica la possibilità di accesso tramite 9 password diverse (in realtà 8 perchè due numeri sono uguali).
Il sistema è banale da crackare (anche a mano) proprio perchè si esegue un controllo lato client che da molte informazioni. Secondo me sarebbe molto più sicuro non fare nessun controllo e chiamare direttamente la pagina che deve avere lo stesso nome della password. Il problema è che se non becco la password viene invocata una pagina che non esiste. (in realtà la stessa cosa avviene nel caso proposto se si beccano tutti i caratteri della password ma l'ordine è sbagliato)
Veniamo a noi... il problema sarebbe più difficile se il prodotto potesse avere fattori nell'intero intervallo (0-255), in realtà questo non avviene. Dato che i caratteri della password sono anche quelli del nome della pagina si possono escludere i caratteri di interpunzione dall'insieme dei caratteri possibili (anche se parentesi e qualche altro simbolo ci potrebbe stare...) oltre a quelli non stampabili. Escludiamo anche gli ascii > 127. Rimangono numeri e caratteri (miuscoli, maiuscoli o entrambi? il codice parla da se'). A questo punto si va per tentativi usando più volte una ben nota operazione imparata alle elementari (una calcolatrice può essere utile o ancora meglio un programmino fatto ad hoc). Trovati tutti i caratteri della password il più è fatto, bisogna solo trovare l'ordine giusto. Per fare questo basta fare un brute force usando l'insieme dei caratteri trovati e provando tutte le permutazioni. La cosa è piuttosto agile visto il numero limitato di caratteri, 3-5 per i numeri presenti nell'esempio da te postato il che implica da 3!=6 a 5!=120 combinazioni.
Spero di non esermi spinto troppo oltre. Con questo non ho voluto insegnare a crackare l'algoritmo (spero di essere stato sufficientemente vago) ma solo mostrare che non è affatto sicuro.
bye
Leggi il REGOLAMENTO!
E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
Drugo