Image Hosted by ImageShack.us

I lamer dell’impero, colpiscono ancora..

WordPress, cosi’ come tante altre board, offre una form per l’immissione di dati di accesso riservati (input), ovvero la password e il login-name.
Mi sono accorto che e’ tremendamente facile per una persona maleintenzionata (o per un bot) riuscire a capire quando risulta sbagliata la password e quando invece risulta non corretto il login-name, perche’ una funzione di WordPress lo indica con estrema precisione.

Se da un lato e’ bene per l’utente “smemorato”, dall’altro potrebbe restringere il campo di azione “criminosa” dello script-kiddie di turno, armato dei suoi fantastici tool per portare a termine un “attacco dizionario“.
Come si puo’ ben vedere dall’immagine, il messaggio di errore riporta indicazioni sulla validita’ del login-name:

Image Hosted by ImageShack.us

La funzione incriminata si trova nel file /wp-includes/pluggable.php alla riga 298 (qui l’indentazione di WP e’ meno scandalosa):

if ( !function_exists('wp_login') ) :
function wp_login($username, $password, $already_md5 = false) {
	global $wpdb, $error;

	$username = sanitize_user($username);

	if ( '' == $username )
		return false;

	if ( '' == $password ) {
		$error = __('ERROR: The password field is empty.');
		return false;
	}

	$login = get_userdatabylogin($username);

	if (!$login) {
		$error = __('ERROR: Invalid username.');
		return false;
	} else {
		// If the password is already_md5, it has been double hashed.
		// Otherwise, it is plain text.
		if ( ($already_md5 && md5($login->user_pass) == $password) ||
   ($login->user_login == $username && $login->user_pass == md5($password)) ) {
			return true;
		} else {
			$error = __('ERROR: Incorrect password.');
			$pwd = '';
			return false;
		}
	}
}
endif;

Questa porzione di codice esegue un controllo sulle due variabili $username e $password, prima di recuperarle dal database:

$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users
WHERE user_login = '$username'");

Se noi modifichiamo questi messaggi nella maniera seguente, dovremmo riuscire a “disorientare” lo str***o..pardon..il “lamer” che ha preso di mira il nostro blog:

if ( !function_exists('wp_login') ) :
function wp_login($username, $password, $already_md5 = false) {
	global $wpdb, $error;

	$username = sanitize_user($username);

	if ( '' == $username )
		return false;

	if ( '' == $password ) {
		$error = __('ERROR: Incorrect password.');
		return false;
	}

	$login = get_userdatabylogin($username);

	if (!$login) {
		$error = __('ERROR: Incorrect password.');
		return false;
	} else {
		// If the password is already_md5, it has been double hashed.
		// Otherwise, it is plain text.
		if ( ($already_md5 && md5($login->user_pass) == $password) ||
($login->user_login == $username && $login->user_pass == md5($password)) ) {
			return true;
		} else {
			$error = __('ERROR: Incorrect password.');
			$pwd = '';
			return false;
		}
	}
}
endif;

NB: Dobbiamo mantenere la stessa sintassi, altrimenti potremmo avere dei problemi con la traduzione in italiano (qual’ora avessimo deciso di ottenere WP in italiano).
Naturalmente, una volta loggati, sarebbe opportuno distinguere il login-name dal nick usato per inserire i post nei commenti, altrimenti il gioco non vale la candela.

Ed ecco come si presenta ora l’errore; Pur essendo sbagliato lo username, il messaggio sara’:
😉

Image Hosted by ImageShack.us

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
3.226.251.205

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

,

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

6 Comments

  • 🙂 Eliminare del tutto la dicitura password o ID no???
    😀

      Quota

  • Divilinux ITALY Mozilla Firefox Linux 11 anni ago

    @2divisio
    e’ piu’ bello prendere in giro
    😀

      Quota

  • Ot
    Togliendo win….Ti prego..dimmi che il pc dell’immagine non è il tuo! perchè lo voglio! 😀

      Quota

  • Divilinux ITALY Mozilla Firefox Linux 11 anni ago

    @raw
    dove vedi windows in giro..stai tranquillo che NON e’ un mio computer..
    🙂

      Quota

  • pixxx ITALY Mozilla Firefox Windows 11 anni ago

    @divilinu [OT?]
    ciao divi, non so se è perchè il blog ha preso una piega decisamente a favore di linux e di ciò che ci gira intorno, o se hai operato qualche altro tipo di scelta, ma essendo un blog dichiaratamente a tema “Lost”, perchè non esibire un nuovo post ad ogni nuova puntata uscita? 🙂

    questo perchè nell’ultimo che hai scritto davi una spiegazione “ovvia” dell’isola, con lag temporali eccecc, ma dopo l’ultima.. mah.. ho dei dubbi! ad esempio come cavolo ha fatto Ben a far sapere alla psicologa di dire alla bionda (di cui mi sfugge il nome ora) di uccidere i tipi della barca??? dai! è assurdo!! sembra quasi che possa controllare spazio e tempo!
    inoltre la psicologa ha detto che Ben “si trova esattamente dove vuole trovarsi”… MAH!!!

    post!!!!!!!!!!!!!!!!!

      Quota

  • Divilinux ITALY Mozilla Firefox Ubuntu Linux 11 anni ago

    @pixxx
    Il blog e’ da sempre impostato su linux, kde e kubuntu..mentre Lost e’ soltanto un altra mia passione che ho deciso di aggiungere al resto degli argomenti.

    Accolgo con piacere la tua richiesta, e prometto di offrire piu’ spazio a chi vuole discutere di Lost ed in particolare delle ultime puntate
    😉

      Quota