Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    password multiutente II

    Ciao,

    sono nuovo nel forum ed anche per il javascript infatti non ne capisco quasi niente.

    Sto provando ad inserire nel io sito il javascript di html.it chiamato password multiutente II, ma guardando il codice non sono riuscito a capire come si fa a stabilire all'interno del codice stesso il nome della pagina web che viene richiamata quando si fornisce la password corretta.

    Grazie a chiunque vorrà darmi un suggerimento

  2. #2

    Re: password multiutente II

    Originariamente inviato da mrmacchina
    sono nuovo nel forum ed anche per il javascript infatti non ne capisco quasi niente.
    già il fatto che non l'hai chiamato erroneamente Java ti colloca un livello sopra tanta altra gente che dice di conoscerlo

    Sarebbe utile il link a tale script per poterti aiutare ma sono quasi certo la pagina da richiamare sia quella indicata nella action della form
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Grazie,

    il riferimento allo script a cui mi riferisco è il seguente:
    http://javascript.html.it/script/ved...ultiutente-ii/

  4. #4
    Originariamente inviato da mrmacchina
    Grazie,

    il riferimento allo script a cui mi riferisco è il seguente:
    http://javascript.html.it/script/ved...ultiutente-ii/
    mamma mia ... cinebrivido ... ma come mai HTML.it permette la pubblicazione di tali "cose" (non voglio essere offensivo) ?

    La sicurezza è una brutta bestia nel Web ragazzi ... con solo JavaScript ed HTML la vedo buia per troppe ragioni ... la sicurezza si implementa nel server, non sul client (o per dirla tutta, non solo sul client e soprattutto sul server, mai viceversa).

    Allora ... quello script dice di criptare le passwords ... e se quello è un crypt, io sono Ponzio Pilato
    codice:
    function findPass(pass, startFrom){
    	var	i = startFrom || 32;
    	while((pass / i) != parseInt(pass / i))
    		i++;
    	pass /= i;
    	return	pass < 256 ? [String.fromCharCode(i), String.fromCharCode(pass)] : [String.fromCharCode(i)].concat(findPass(pass, startFrom));
    };
    
    for(var	test = {}, i = 32; i < 128; i++)
    	test[findPass(16221820608, i).join("").replace('"', "&amp;quot;")] = true;
    for(var	key in test)
    	document.write('<input type="text" value="' + key + '" />
    ');
    bene, tu prendi questo codice, cambi il numero 16221820608 e ci metti quello mostrato in chiaro nel sorgente della pagina o del JavaScript esterno ... ed eccoti la lista di tutte le combinazionisequenziali.

    Sapendo che implementare una funzione di anagramma intelligente sarebbe più costoso che farlo a mente e sapendo che per forza di cose la password deve essere una pagina riconosciuta dall'url (quindi ho accettato fin troppi caratteri) ... i tentativi da sfruttare saranno in questo caso 3 di cui due che portano allo stesso anagramma:
    codice:
    LTaoì
    aoprv
    oprva
    io la prima che farei, come tentativo per entrare ... è proprio prova ... e vi assicuro che non c'ho perso più di 2 minuti debug compreso ... immaginate un cracker esperto quanto ci mette ad entrare nella vostra area super segreta.

    Un consiglio? ... lasciate perdere ste cose ... o cercatene di migliori

    [edit]
    Ovviamente tutte le soluzioni mostrate vanno bene per passare il check client ... ma come ho detto, siccome questo codice mostra paginaX in base a passwordX la mia soluzione è addirittura fin troppo complessa a livello di calcoli


    [edit 2]
    Per la cronaca e per correttezza ... già la seconda password non la trovo ... ergo bisogna perderci più tempo per migliorare l'affidabilità, sicuramente più di 2 minuti ... ma il discorso non cambia, un cracker esperto entra in un attimo.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    qui c'ho perso un pò più di tempo (il problema m'aveva preso )
    codice:
    function findPass(n, startFrom){
    	startFrom = startFrom || 0;
    	for(var	i = startFrom, key = arguments.callee.key, result = [], changed = false, code; i < key.length; i++){
    		code = key.charCodeAt(i);
    		if((n / code) == parseInt(n / code)){
    			result.push(key.charAt(i));
    			n /= code;
    			i = startFrom - 1 > -1 ? --startFrom : 0;
    			changed = true;
    		}
    		else if(i == key.length - 1 && n > 1 && changed){
    			i = 0;
    			changed = false;
    		}
    	};
    	return	result.join("");
    };
    findPass.key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    
    for(var i = 0, test = {}; i < findPass.key.length; i++)
    	test[findPass(811091030400, i)] = true;
    for(var key in test)
    	document.write(key + "
    ");
    ecco, questa prova la mostra in chiaro ma trova anche prov2a ... insomma dato che 3*2 è sempre uguale a 2*3 il succo è che come sistema, questo, non vale un granchè ... se uno ha voglia/tempo di mettersi a fare qualche test il modo di entrare lo trova

    P.S. basterebbe una buona funzione per il calcolo combinatorio che non impieghi troppo (magari scritta in C) ... che si possono avere senza problemi tutte le possibili combinazioni di passwords valide
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Ciao,

    non so come ringraziarti, dire che sei stato gentilissimo è poco....
    Nell'area riservata inserirò per il momento cose di poca importanza che potrebbero essere anche rese pubbliche....tuttavia quando dovrò inserirci dei dati più importanti provvederò ad utilizzare dei metodi più sicuri.

    Se hai dei suggerimenti a tal proposito mi faresti un enorme favore...

    ancora grazie

  7. #7
    Originariamente inviato da mrmacchina
    Nell'area riservata ...
    scusami mrmacchina ... ma appunto ho risposto per dimostrarti che di riservato non c'è niente.

    Per fare un'area riservata ti serve un linguaggio server (o una chiave univoca random da 12 caratteri a 512 bit più una funzione capace di fare il confronto dopo aver hashato il tutto .. ma a quel punto la pagina avrebbe un mone assurdo, scomodissimo per sviluppare) ... uno qualunque ed almeno uno sarà sicuramente presente nell'host del sito che stai sviluppando.

    Non puoi chiamarla area riservata e rischi solo di fare brutte figure al primo consulente che da uno sguardo a quanto hai presentato e "venduto" come riservato.

    Chiamala, se proprio vuoi usare una "cosa" tipo quella dell'esempio, pagina pubblica che si raggiunge scrivendone il nome, ovvero prova.html è prova e pippo.html è pippo.

    Vorrei inoltre ricordarti che gli url si preferiscono semantici e che quindi a maggior ragione questo metodo è un pò ridicolo poichè se implementi finte "password" più complesse (tipo x7Td0ii3bHHHfiIEltllImJUhtI9.html) per ricordarsele il tuo cliente dovrà portarsi appresso un tacquino mentre se la fai scegliere a lui difficilmente sarà una password abbastanza affidabile.

    Vabbeh, sono solo consigli, poi ognuno fa quello che gli pare
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Forse mi ea sfuggito un particolare.

    In pratica se la password è prova, la pagina riservata si chiamerà prova.htm e cioè la password comparirebbe nella pagina di navigazione. Dico bene?

  9. #9
    Originariamente inviato da mrmacchina
    Forse mi ea sfuggito un particolare.

    In pratica se la password è prova, la pagina riservata si chiamerà prova.htm e cioè la password comparirebbe nella pagina di navigazione. Dico bene?
    esatto , questo sistema reindirizza l'utente in base alla password ... se scrivi prova ti reindirizza alla pagina "super segretissima" di nome prova.html ... basta sapere una sola volta che esiste quella pagina e chiunque potrà accedervi senza problemi direttamente, senza passare per questa discutibile form per implementare una password di accesso.

    Insomma, questo sistema è in soldoni tanto bel fumo negli occhi ma nulla di sicuro, la sicurezza sta nel server
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Mi stupisco anche io che HTML.it non verifichi cosa viene pubblicato, a livello di script. Proporre JS per la "sicurezza" è paradossale. Nessuno script lato client può essere sicuro, in quanto tutto il codice è visibile, modificabile, disattivabile, ecc.

    Se invece questo script è stato verificato e pubblicato lo stesso allora... non mi esprimo che è meglio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.