aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

phpBB 3 Hash Gen

Je komt er niet helemaal uit bij het scripten? Übergoede functie geschreven? Alles met betrekking tot scripting, kun je hier terecht.

phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 15 okt 2008 18:02

Hallo,

Ik heb een eigen leden systeem, als mensen zich aanmelden dan wordt die persoon zowel geregistreerd op het forum als op de homepage.

Alles gaat goed behalve het hashen van het wachtwoord, ik heb alles geprobeerd maar ik krijg maar niet de juiste hash in de database toegevoegd.

Ik heb de functies van phpbb3 al geprobeerd maar die genereert enkel een random hash :(

Nu heb ik hier een tool gezien waar je een wachtwoord in kan zetten en die omzet naar de juiste hash voor phpBB3, waar kan ik deze source krijgen??

Alvast bedankt voor de hulp,

Kai van Rijswijk
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 15 okt 2008 18:47

phpbb_hash($password)? :)
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 15 okt 2008 18:49

ElbertF schreef:phpbb_hash($password)? :)


Heb ik al geprobeerd, maar hij genereert dan een random hash, en dus niet de hash van het wachtwoord dat ik wil hebben.
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 15 okt 2008 18:50

Wat bedoel je precies, met dezelfde input krijg je toch altijd dezelfde hash?
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 15 okt 2008 18:58

Nee, want als je de functie phpbb_hash bekijkt maakt hij er steeds een random hash van.

Code: Selecteer alles
<?

$pw = "test";

define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';

$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.php');
include($phpbb_root_path . 'includes/functions_user.php');
include($phpbb_root_path . 'includes/ucp/ucp_register.php');


$hash = phpbb_hash($pw);

echo $hash;

?>


Dit is de code zoals ik die via Google heb gevonden, en die maakt enkel een random hash code.
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 15 okt 2008 19:04

Onze tool gebruikt dezelfde functie en creëert blijkbaar ook steeds een andere hash, ik weet precies hoe de phpBB hash functie in elkaar steekt maar is dat niet ook gewoon de bedoeling?

phpbb_check_hash($password, $hash)

Test eens of dit TRUE geeft met die verschillende hashes en hetzelfde wachtwoord.
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 15 okt 2008 19:08

Klopt, ik had een foutje gemaakt, excuseer.

i.i.g. bedankt voor de hulp ;)
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 15 okt 2008 19:10

Geen probleem, ik ben ook weer wat wijzer. :)
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 16 okt 2008 13:40

ElbertF schreef:Geen probleem, ik ben ook weer wat wijzer. :)


Nu zit ik nog met 1 probleem, de hash klopt nu. Maar er word nog ergens een hash gemaakt en dat is user_form_salt. Ik heb geen flauw idee wat dat is en hoe ik die moet genereren.

Ik zal hier mijn code plaatsen die ik gebruik om in de database toe te voegen.

Code: Selecteer alles
define('IN_PHPBB', true);
            $phpbb_root_path = 'forum/';
            
            $phpEx = substr(strrchr(__FILE__, '.'), 1);
            include($phpbb_root_path . 'common.php');
            include($phpbb_root_path . 'includes/functions_user.php');


            $hash = phpbb_hash(md5($wachtwoord));
            
            $insert = "INSERT INTO phpbb_users (username, user_password, user_email, user_lang, user_style, user_ip, user_regdate) VALUES ('".$_POST['gebruikersnaam']."', '".$hash."', '".$_POST['email']."', '".$user_lang."', '".$user_style."', '".$ip."', '".time()."')";
            mysql_query($insert)or die(mysql_error());


Zou iemand mij kunnen helpen? want ik kom er niet meer uit :(
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 16 okt 2008 13:56

Wat gaat er niet goed? Je vraag is me niet helemaal duidelijk. :)

Ik neem aan dat formulieren een hash meezenden om geautomatiseerde berichten te voorkomen, deze zal gechecked worden met de sessie van de gebruiker. Een salt is een string die meegehashed wordt voor extra veiligheid.

Ik zie trouwens dat je $_POST['email'] ongefilterd in je query stopt. Gebruikt in plaats hiervan de variabelen van phpBB's input class, ook al ben je alleen nog maar lokaal aan het testen.
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 16 okt 2008 16:51

Als iemand zich registreert (website) zet hij alle gegevens in de database van leden, ik wil dat het script ook meteen de persoon registreert op het forum.

Hieronder de registratie code:

Code: Selecteer alles
   $wachtwoord = genereerwachtwoord();
            
            
            
               
            $insert = "INSERT INTO leden_gegevens (gebruikersnaam, wachtwoord, naam, email, geboortedatum, homepage, msn, woonplaats, geslacht, berichten, mailtonen, nieuwsbrief, aangemeld, onderschrift, status, strafpunten, ip, posts) VALUES ('".$_POST['gebruikersnaam']."', '".md5($wachtwoord)."', '".$_POST['naam']."', '".$_POST['email']."', '".$_POST['jaar']."-".$_POST['maand']."-".$_POST['dag']."', '".$_POST['homepage']."', '".$_POST['msn']."', '".$_POST['woonplaats']."', '".$_POST['geslacht']."', '".waarde($_POST['berichten'])."', '".waarde($_POST['mailtonen'])."', '".waarde($_POST['nieuwsbrief'])."', '".date("Y-m-d")."', '', '".$status."', '0', '".$ip."', '0')";
         
      
            mysql_query($insert)or die(mysql_error());
            
            //standaard waarden voor phpbb 3 meegeven
            $user_lang = "nl";
            $user_style = "1";
            define('IN_PHPBB', true);
            $phpbb_root_path = 'forum/';
            
            $phpEx = substr(strrchr(__FILE__, '.'), 1);
            include($phpbb_root_path . 'common.php');
            include($phpbb_root_path . 'includes/functions_user.php');


            $hash = phpbb_hash($wachtwoord);
            
            $insert = "INSERT INTO phpbb_users (username, user_password, user_email, user_lang, user_style, user_ip, user_regdate) VALUES ('".$_POST['gebruikersnaam']."', '".$hash."', '".$_POST['email']."', '".$user_lang."', '".$user_style."', '".$ip."', '".time()."')";
            mysql_query($insert)or die(mysql_error());


Wat doe ik dan fout, want hij zet hem netjes in de database, phpbb ziet hem ook als user maar het wachtwoord klopt gewoon niet op een of andere manier.
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 16 okt 2008 18:20

Is er niet ook nog een veld waar in staat dat de gebruiker geactiveerd is? En moet de gebruiker niet toegevoegd worden in de geregistreerde gebruikers-groep? Ik noem maar wat.. :)

Volgens mij moet er een class zijn waarmee je een gebruiker toevoegt i.p.v. dit zelf rechtstreeks in de database te doen. Die zou alles in een keer goed moeten doen.

Ik herhaal trouwens ook even dat je huidige methode van de DB bijwerken erg onveilig is. ;)
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: phpBB 3 Hash Gen

Berichtdoor Kai van Rijswijk » 16 okt 2008 19:03

ElbertF schreef:Ik herhaal trouwens ook even dat je huidige methode van de DB bijwerken erg onveilig is. ;)


Sorry ik ben nog niet zover gevorderd, wat zou u aanraden??
Kai van Rijswijk
wmpr
 
Berichten: 7
Geregistreerd: 15 okt 2008 17:47

Re: phpBB 3 Hash Gen

Berichtdoor ElbertF » 16 okt 2008 19:16

Zo te zien gebruiken ze request_var($var_name, '') i.p.v. $_POST[$var_name] en $_GET[$var_name]. De laatste twee variabelen zijn ongecontroleerd en kunnen kwaadaardige code bevatten waarmee op je database ingebroken kan worden. Voor een hacker is het vrij eenvoudig om te ontdekken dat je website hier kwetsbaar voor is.

Over het toevoegen van gebruikers; er is bijv. een functie user_add() waar je naar kunt kijken.

http://area51.phpbb.com/docs/code/phpBB ... onuser_add
http://area51.phpbb.com/docs/code/
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09


Keer terug naar PHP, ASP, SQL



cron