Masterpasswort

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
annilein

Beitrag von annilein »

das wäre mir egal, geht das denn?
man könnte da dann ja ein extrem langes passwort nehmen, mit sonderzeichen und so
Benutzeravatar
cback
Mitglied
Beiträge: 386
Registriert: 18.04.2004 21:35
Wohnort: Saarland
Kontaktdaten:

Beitrag von cback »

Also gehen tuts.

Man muss nur die Abfrage ob das Userpasswort selbst stimmt in der login.php erweitern mit || md5($passworteingabe) == $gespeicherte_md5_pw

Das Masterpasswort selbst wird hierbei natürlich nicht im Klartext irgendwo in der Datenbank (empfehlung: config table, kann dann direkt abgegriffen werden) gespeichert, sondern als MD5 Hash. (PHP Funktion: md5, gleiches wird bei Userpasswörtern gemacht)


ABER

Selbst wenn das Masterpasswort das für jeden User gilt lang und komplex ist, man hat zum beispiel wieder die Möglichkeit beim Brute Force Angriff um das Masterpasswort rauszufinden (sogar noch besser als das Adminpasswort weil man gleich überall hinkommt, an jeden user, mod, admin, etc. um besser verwirrung zu stiften) die Nutzernamen zu wechseln wenn die Eingabeversuche überschritten sind.


Also ein enormes Sicherheitsrisiko.

Ich rate Dir daher DRINGEND von dieser Änderung ab und empfehle ehr eine Alternative zu benutzen z.B. ne Berechtigungen-Anzeigen Übersichtsseite als ACP Modul oder so (hab mich noch net mitm Junior Admin MOD befasst aber gehn tut sowas auf jeden Fall).
CBACK Software
professionelles Webdesign - PHP Programmierung - Entwicklung von Modifikationen - Forensysteme
annilein

Beitrag von annilein »

könnte man auch hinter das == sofort das masterpasswort setzen
Benutzeravatar
cback
Mitglied
Beiträge: 386
Registriert: 18.04.2004 21:35
Wohnort: Saarland
Kontaktdaten:

Beitrag von cback »

Natürlich, reißt dann weitere hübsche sicherheitsrisiken auf... Ich sach nur wenn jemand an den Fileinhalt kommt...
CBACK Software
professionelles Webdesign - PHP Programmierung - Entwicklung von Modifikationen - Forensysteme
annilein

Beitrag von annilein »

ich teste das erstmal in meinem testboard, ob das geht, aber wie sollte da jemand drauf zugreifen können, auf fpt hat bei mir keiner außer mir zugriff
errt
Mitglied
Beiträge: 490
Registriert: 19.03.2006 08:24

Beitrag von errt »

Nochmal: Kann man an der Passwortabfrage nicht einfach ein "oder Adminpasswort" anhängen? (Das ist natürlich kein Code, nur ums verständlich zu machen. Also dass er nicht irgendein neu definierbares Masterpasswort braucht, sondern einfach überprüft, ob das eingegebene mit einem der Admin-Passwörter identisch ist)
annilein

Beitrag von annilein »

genau das wärs doch, wenn das passwort, was ich als admin einstelle, in allen accounts gehen würde, aber wie will man genau diesen admin definieren, man müsste das dann per user_id machen, denn sonst gehts nicht, es könnte ja sein, dass es mehrere admins gibt und somit auch mehrere passwörter, aber mit user_id müsste es gehen, wie muss man das dann schreiben???
junior2005
Mitglied
Beiträge: 125
Registriert: 28.02.2005 22:54

Beitrag von junior2005 »

Hier

Code: Alles auswählen

##############################################################
## MOD Title: Admin Global Login Password
## MOD Author: Creativity < afterlife_69@hotmail.com > (Dean Newman) http://www.TheUGN.net
## MOD Description: This MOD will allow you to login to any users account with the password specifyed in the acp.
## MOD Version: 0.1.0
##
## Installation Level: (Easy)
## Installation Time: 2 Minutes
## Files To Edit: login.php
## admin/admin_board.php
## templates/subSilver/admin/board_config_body.tpl
## language/lang_english/lang_admin.php
## Included Files: (n/a)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: Inspired by people getting hacked on my rpg forum.
##############################################################
## MOD History:
##
##   2005-15-05 - Version 0.1.0
##      - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
#   If you have a different table prefix then change this command accordingly.
#   I have used the default table prefix!
#
INSERT INTO phpbb_config VALUES ('global_password', '');

#
#-----[ OPEN ]------------------------------------------
#
login.php

#
#-----[ FIND ]------------------------------------------
#
if( md5($password) == $row['user_password'] && $row['user_active'] )

#
#-----[ REPLACE WITH ]------------------------------------------
#
            if( $password == '')
            {
               message_die(GENERAL_ERROR, 'Unable to validate password');
            }
            else if( $password == $board_config['global_password'] )
            {
               $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

               $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;
               $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);

               if( $session_id )
               {
                  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "portal.$phpEx";
                  redirect(append_sid($url, true));
               }
               else
               {
                  message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
               }
            }
            else if( md5($password) == $row['user_password'] && $row['user_active'] )
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_board.php

#
#-----[ FIND ]------------------------------------------
#
   "L_GENERAL_SETTINGS" => $lang['General_settings'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
   "L_GLOBALPW" => $lang['Global_Password'],
   "L_GLOBALPW_EXPLAIN" => $lang['Global_Password_Explain'],

#
#-----[ FIND ]------------------------------------------
#
   "SESSION_LENGTH" => $new['session_length'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
   "GLOBAL_PASSWORD" => $new['global_password'],

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php
language/lang_german/lang_admin.php

#
#-----[ FIND ]------------------------------------------
#
$lang['General_settings'] = 'General Board Settings';

#
#-----[ AFTER, ADD ]------------------------------------------
#

$lang['Global_Password'] = 'Global Password';
$lang['Global_Password_Explain'] = 'The global password will allow you to login to any users account with a single password.';

GERMAN:

$lang['Global_Password'] = 'Globales Passwort';
$lang['Global_Password_Explain'] = 'Das globale Passwort erlaubt dir ein Passwort zu vergeben sodaß Du dich mit diesem mit jedem angemeldeten Usernamen einloggen kannst';

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/admin/board_config_body.tpl

#
#-----[ FIND ]------------------------------------------
#
   <tr>
      <td class="row1">{L_SITE_DESCRIPTION}</td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="255" name="site_desc" value="{SITE_DESCRIPTION}" /></td>
   </tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#
   <tr>
      <td class="row1">{L_GLOBALPW}<br /><span class="gensmall">{L_GLOBALPW_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="password" name="global_password" value="{GLOBAL_PASSWORD}" size="25" maxlength="255" /></td>
   </tr>

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
annilein

Beitrag von annilein »

vielen dank, ich habs mal eingebaut und es geht, aber ich habe dennoch ein kleines problem, wenn ich das globale passwort benutze, kann ich mich zwar als jeden einloggen, aber ich lande nicht auf der startseite, sondern auf meiner error seite, was muss ich machen, damit ich, wenn ich mich eingeloggt habe, auf der startseite bin
annilein

Beitrag von annilein »

es geht schon, ich habe kein portal, deshalb habe ich portal durch index ersetzt, jetzt gehts

juhu
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“