Back to top

Autore Topic: Bloccare immissione caratteri ASCII login  (Letto 8419 volte)

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Bloccare immissione caratteri ASCII login
« il: 31 Mag 2013, 21:45:56 »
Come da titolo. Vorrei vietare l'inserimento di caratteri ASCII e altri simboli nel form di registrazione e nel form di LOGIN. Questo per impedire che alcuni utenti registrino NICK apparentemente uguali.


Come fare?
Grazie!



mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #1 il: 31 Mag 2013, 22:13:35 »
e che ci inserisci.. segnali di fumo?

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #2 il: 31 Mag 2013, 22:33:41 »
mbè ad es. è possibile registrare due nick UGUALI..magari utilizzando una O diversa...e quindi l' username apparentemente sembra uguale.

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #3 il: 31 Mag 2013, 23:17:35 »
...si ma non capisco  che cosa inseriresti come username ammettendo di riuscire a fare ciò che vuoi

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #4 il: 01 Giu 2013, 01:09:42 »
ad es. l' username "Joomla" e "Jοοmla" sembrano uguali. Ma sono entrambi registrabili e riconosciuti diversamente. Perchè nel secondo USERNAME ho utilizzate delle "o" diverse.
O potrei usare "  " che è un carattere vuoto.
In poche parole non voglio che vengano accettati i caratteri speciali.
« Ultima modifica: 01 Giu 2013, 01:11:40 da exploit00 »

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #5 il: 01 Giu 2013, 12:07:10 »
qual'è il carattere speciale?

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #6 il: 01 Giu 2013, 14:03:19 »
se vai QUI per es. TROVI TANTISSIMI caratteri.
Se vai nella mappa dei caratteri di windows. Trovi anche tanti altri caratteri, tra cui dei caratteri vuoti che il FORM di login riconosce. O ad es. ad inserire i cuoricini.

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #7 il: 01 Giu 2013, 14:07:09 »
Se vedi bene nel link..per farti un es. delle O ci sn due o che sembrano uguali, ma il login le riconosce diversamente. Infatti sn riuscito a registrare due nick che apparentemente sono identici.

Offline explοit00

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #8 il: 01 Giu 2013, 14:12:41 »
Ecco ho registrato un nick UGUALE! ho risposto con questo ora. Te ne accorgi dai POST.
E' proprio questo che vorrei evitare nel mio login  :'( 
Sennò che protezione sarebbe?? Come tutelo i miei visitatori?

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #9 il: 01 Giu 2013, 14:47:31 »
mi correggo, scusami... non avevo capito cosa dicevi, credevo il problema fosse o minuscola piuttosto che 0..

:) eh si è un bug questo, anzi direi proprio una vulnerabilità

devi mettere una regex a validare ... dopo ci guardo
« Ultima modifica: 01 Giu 2013, 14:55:59 da M_W_C »

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #10 il: 01 Giu 2013, 20:58:04 »
...ma dove ti succede questo? con joomla? che versione? che autenticazione?

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #11 il: 01 Giu 2013, 21:09:28 »
Ecco ho registrato un nick UGUALE! ho risposto con questo ora. Te ne accorgi dai POST.
E' proprio questo che vorrei evitare nel mio login  :'( 
Sennò che protezione sarebbe?? Come tutelo i miei visitatori?
Ciao explοit00, grazie per la segnalazione.
Fai però attenzione che l'utente uguale che hai registrato qui non lo hai registrato su Joomla ma su l'applicazione del forum che è SFM 2.0.4

Hai verificato se anche sulla versione 3.1.1 di Joomla avviene lo stesso comportamento e se è già stato aperto un tracker sul Joomlacode?

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #12 il: 01 Giu 2013, 22:18:42 »
Ho provato sulla 3.1.1 ed effettivamente è come dice exploit00,
ho provato a registrare due utenti con nome alex e login alex cambiando solo la "e" copiandone una uguale presa dalla pagina segnalata ed mi ha registrato i due utenti identici.

Però penso sia difficile riuscire ad impedire questo comportamento, essendo caratteri si "speciali" ma in uso è complicato impedirne l'utilizzo, magari poi si rischia di andare poi a intaccare l'utilizzo di chi utilizza alfabeti differenti tipo l'arabo o il russo ecc...

Credo che per tutelare i tuoi utenti puoi temporaneamente attivare l'attivazione delle registrazioni da "Amministratore" così sarai tu a attivare le registrazioni dopo aver verificato che non siano effettivamente doppioni o spam.

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #13 il: 01 Giu 2013, 22:40:21 »
...per curiosità ho provato anche a registrare un nuovo utente admin ma in questo caso Joomla non si è fatto ingannare come per l'utente alex

Offline explοit00

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #14 il: 02 Giu 2013, 00:56:11 »
Non è possibile utilizzare le funzioni addslashes() -  htmlspecialchars o ctype_digit()
« Ultima modifica: 02 Giu 2013, 01:08:12 da explοit00 »

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #15 il: 02 Giu 2013, 09:22:36 »
a me Joomla la 3.1.1 non lo fa .... li controlla tutti gli inserimenti oppure ho avuto fortuna con quei 3 o 4 che ho provato.
Il guaio può succedere se qualcosa viene restituito per user name e nel db vengono salvati uguali e non con i caratteri speciali....

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #16 il: 02 Giu 2013, 11:51:28 »
Ti allego la schermatina del phpmyadmin dove i due alex appaiono uguali uguali

[allegato eliminato automaticamente dopo un anno]

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #17 il: 02 Giu 2013, 15:32:21 »
che rappresentazione html usi per la seconda "a"? o cmq che char inserisci?
In che modo registri? ovvero dal form di registrazione o dall'amministrazione-> nuovo utente? ... hai provato se avviene la stessa cosa?

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #18 il: 02 Giu 2013, 15:54:10 »
la seconda "e" la copio incollo dalla pagina html segnalata prima.
Le registrazioni le ho fatte da amministrazione-> nuovo utente
non ho provato a farle da frontend

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #19 il: 02 Giu 2013, 16:13:45 »
..mmhh no a me restituisce utente esistente registrando i due alex su 3.1.1
Sicuramente è legato al problema della codifica ma non vedo issues segnalate...

ma non capisco in quella pag cosa copi... ovvero io non vedo problemi vedo le lettere codificate e se copio copio la lettera così come restituita a schermo.
Potrebbe essere legato anche al SO in uso...
« Ultima modifica: 02 Giu 2013, 16:34:03 da M_W_C »

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #20 il: 02 Giu 2013, 17:22:05 »
Scusate una domanda. E se io il form di registrazione lo creassi io (personalizzandolo a modo io) ad es. usando le funzioni citate prima (es.che accetti solo caratteri dalla a-z e numeri 0-9). Ovviamente i dati devono essere salvati nelle stessa tabelle. Potrebbe andare? o posso c' è la possibilità di compromettere il funzionamento di qualche altro modulo?
« Ultima modifica: 02 Giu 2013, 17:25:11 da exploit00 »

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #21 il: 02 Giu 2013, 18:09:09 »
lascia perdere i pasticci ... bisogna capire prima di scegliere soluzioni.
Il problema del transliterate e delle codifiche dei caratteri non è nuovo solo che non mi è mai successo con joomla (e il bello è che ancora non mi succede).
Bisogna capire se può dipendere dal setup, magari dalla lingua, dalla codifica, dal sistema operativo...


Joomla ha già la funzione transliterate in: /libraries/joomla/language/transliterate.php
che però sembra adibita ai soli alias

sempre nella libreria però c'è la /table/user.php
if (preg_match("#[<>\"'%;()&]#i", $this->username) || strlen(utf8_decode($this->username)) < 2)

..interessante...
http://it.wikipedia.org/wiki/UTF-8
Forme lunghe, input non valido e considerazioni di sicurezza
Il comportamento di un decoder in presenza di input non valido è pressoché indefinito. Ci sono molti modi in cui un decoder può reagire alla presenza di input non valido...
... UTF-8 è pensato in modo che nessuno dei byte codificati possa assumere uno dei valori speciali del codice ASCII...

..e un bel paper:
http://www.w2spconf.com/2012/papers/w2sp12-final7.pdf

... a qs punto mi viene una domanda... ma il db è utf-8? ... e la pagina?
« Ultima modifica: 02 Giu 2013, 21:39:00 da M_W_C »

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Bloccare immissione caratteri ASCII login
« Risposta #22 il: 03 Giu 2013, 19:17:19 »
Vorrei almeno evitare di inserire i caratteri * o @ nel campo username.


/libraries/joomla/language/table/user a me non esiste (joomla 2.5)

anche # mi registra.
« Ultima modifica: 03 Giu 2013, 19:24:21 da exploit00 »

mau_develop

  • Visitatore
Re:Bloccare immissione caratteri ASCII login
« Risposta #23 il: 03 Giu 2013, 20:08:59 »
potresti modificare il bind della libreria... /libraries/joomla/user/user.php...
in questo punto:
// Check that username is not greater than 150 characters
         $username = $this->get('username');
         if (strlen($username) > 150)
         {
            $username = substr($username, 0, 150);
            $this->set('username', $username);
         }

..ma non ho verificato se è corretto farlo quì

Offline exploit00

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
[RISOLTO] - Re:Bloccare immissione caratteri ASCII login
« Risposta #24 il: 31 Lug 2013, 01:11:54 »
Con immenso piacere, vi annuncio che ho risolto il problema alla grande. Ho utilizzato "Community Builder" che ovviamente è un componente FREE.
Utilizzando il FORM di registrazione di cb, oltre ad effettuare il controllo in tempo reale sul db se un user o un email è disponibile o meno, è possibile anche personalizzare ogni campo, come ad. il campo USERNAME. Ora qualsiasi altro carattere inserisco, mi da errore "CARATTERE NON VALIDO".
Addio cloni.
Vi spiego passo passo.
Installate community builder, andate su "Field Management", clicca su username e a destra su "Ingresso consentito", selezionate "singola a-z ec.. ec....". E automaticamente tutti gli altri caratteri inseriti nel CAMPO username verranno BLOCCATI. Lo stesso è possibile fare con gli altri CAMPI del form. Inoltre è possibile impostare manualmente i caratteri o nomi utenti non consentiti.  ;D ;D


P.S: Ovviamente il form di reg di CB, insieme al modulo del login e del recupero pass è possibile integrarlo per il forum SMF e KUNENA.
« Ultima modifica: 31 Lug 2013, 01:21:47 da exploit00 »

 



Web Design Bolzano Kreatif