Nabend,
eine Suche nach
md5 ergab folgende Dateien mit entsprechender Zeile:
- pkinc/admin/useredit.php
(2 hits)
| PHP-Quelltext Line 198: $set_adds=", user_pw='".md5($_POST['edit_password'])."'";
Line 243: user_pw='".$SQL->f(md5($_POST['edit_password']))."', | |
- pkinc/class/session.php
(2 hits)
| PHP-Quelltext Line 580: $this->log_userpass = md5($this->ENV->_request('userpw'));
Line 609: $this->log_userpass=md5($this->log_userpass); | |
- pkinc/class/sqlutilities.php
(1 hit)
| PHP-Quelltext Line 547: $values=md5($values); | |
- pkinc/func/default.php
(2 hits)
| PHP-Quelltext Line 386: return md5(pkStringRandom(32));
Line 2334: return (md5($key)=='pkLICENCEKEYCRYPT') ? true : false; | |
- pkinc/func/user.php
(1 hit)
| PHP-Quelltext Line 177: return md5($password); | |
- pkinc/public/forumsnewpost.php
(1 hit)
| PHP-Quelltext Line 485: $post_uid = md5(uniqid(rand())); | |
- pkinc/public/login.php
(1 hit)
| PHP-Quelltext Line 141: $SQL->query("UPDATE ".pkSQLTAB_USER." SET uid='', user_pw='".$SQL->f(md5($newpassword))."' WHERE user_id='".$SQL->f($id)."' AND uid='".$SQL->f($uid)."'"); | |
- pkinc/public/registration.php
(2 hits)
| PHP-Quelltext Line 102: $uid = md5(uniqid(mt_rand()));
Line 105: $sqlpassword = md5($password); | |
- pkinc/public/userprofile.php
(2 hits)
| PHP-Quelltext Line 283: $cur_password=(isset($_POST['cur_password']) && !empty($_POST['cur_password'])) ? md5(trim($_POST['cur_password'])) : '';
Line 294: $ud_userpw=md5($ud_newpw1); | |
- pkinc/setup/setup.php
(5 hits)
| PHP-Quelltext Line 159: if(md5('') == $this->setuppassword) #empty password
Line 235: if(!empty($spw) && md5($spw)===$this->setuppassword)
Line 237: $_SESSION[$this->setup_session_key] = md5($spw);
Line 258: "if(defined('pkFRONTEND') && pkFRONTEND=='setup') \$this->setuppassword='".addslashes(md5($pw1))."';\r\n".
Line 276: $_SESSION[$this->setup_session_key] = md5($pw1); | |
Theoretisch könnte man nun alle Stellen mit
md5 durch eine beliebige andere Hash-Funktion ersetzen.
Unter den Punkt
Siehe auch beim
PHP Manual - MD5 stehen unter anderem folgende Funktionen:
- sha1() - Berechnet den SHA1-Hash eines Strings
- hash() - Berechnet den Hash einer Nachricht
- password_hash() - Erstellt einen Passwort-Hash
Je nach Funktionsumfang reicht das austauschen der Funktion ( z.B. beim SHA1() ). Bei der Funktion Hash() muss man z.B. schon 2 Parameter angeben - Den Hash-Algorithmus ( z.B. MD5, SHA256 ) und dann den String der geändert werden soll.
Man sollte sich die Funktionen und dessen Umfang in einer ruhigen Minute angucken und ggf. ein bisschen rumprobieren. Sind zwar nur 10 Dateien wo MD5 genutzt wird, aber da es hier um Verschlüsselung geht sollte man ein Aufpassen
---
Was das andere angeht:
Eine Suche danach ergab irgendwie nichts brauchbares. Die meisten Infos beziehen sich auf die Vor- und Nachteile, wann welche Engine Standard ist ( z.B. ab MySQL 5.0 oder 5.5 ist InnoDB Standard ) und paar andere kleinigkeiten.
Das Problem ist aber das trotz "Default-Engine-Einstellung" ( fand keine Info WIE man das umstellen könnte ) jede Erstellung einer Datentabelle die Engine bestimmt werden kann.
Heist: Wenn der Entwickler dies explizit angibt wird die entsprechende Engine eingestellt.
Dies sähe z.B. so aus ( letzte Zeile ):
| Quellcode CREATE TABLE IF NOT EXISTS MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)
ENGINE = MEMORY; | |
Statt MEMORY könnte da entsprechen InnoDB, MyISAM etc. stehen.
Da hilft wohl leider nur das manuelle umstellen der Engine
