cred ca este o problema de securitate

Discuţii libere referitoare la forumul phpBB şi comunitatea phpBB Romania.
Reguli forum
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
alin"
Nou venit
Mesaje: 1
Membru din: 27-Noi-2007, 00:07:23

cred ca este o problema de securitate

Mesaj de alin" »

Cod: Selectaţi tot

if (strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)))
	{
		return array('error' => true, 'error_msg' => $lang['Username_invalid']);
	}

	return array('error' => false, 'error_msg' => '');
Acest cod aflat in folderul includes, trebuie sa verifice daca in variabila $username avem ghilimele adica " sau &qout; .Si totusi pot se poate inregistra un user de forma userului meu.Este problema de securitate, sau aceasta verificare face defapt altceva si eu nu imi dau seama.

Multumesc Anticipat
Avatar utilizator
shocker
Utilizator înregistrat
Mesaje: 203
Membru din: 07-Mai-2007, 21:13:18
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: localhost
Contact:

Mesaj de shocker »

Ce ai tu acolo e parte din functia validate_username() din functions_validate.php
E o mica scapare acolo, nu are cum sa gaseasca " sau " deoarece in usercp_register.php atribuie valoarea lui $username cu:

Cod: Selectaţi tot

phpbb_clean_username($HTTP_POST_VARS['username'])
Cum in functia phpbb_clean_username e un htmlspecialchars(), $username din alin\" v-a deveni alin\". Daca s-ar trece valoarea asta prin filtrul mentionat de tine mai sus ar da eroare ca numele contine "

Deci apelul la validarea numelui e de forma:

Cod: Selectaţi tot

validate_username("alin\"")
Cum ziceam, pana aici ar detecta ca contine caractere ilegale. Insa, la inceputul functiei validate_username se refiltreaza userul:

Cod: Selectaţi tot

$username = phpbb_clean_username($username);
Astfel valoarea alin\" se va transforma in alin\" (a inlocuit caracterul special & cu &, astfel verificarea numelui daca contine ghilimele e complet fuxed up :lol:
Scrie răspuns

Înapoi la “Despre phpBB”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori