Из файла changepass.php
Код:
$user=$_GET['user'];
$oldpass=$_GET['oldpass'];
$newpass=$_GET['newpass'];
$newpass2=$_GET['newpass2'];
if(strlen($user) == 0){
die("errorField");
}elseif(strlen($newpass) == 0){
die("errorField");
}elseif(strlen($newpass2) == 0){
die("errorField");
}elseif(strlen($oldpass) == 0){
die("errorField");
}
if(preg_match("[^0-9a-zA-Z_-@]", $newpass, $Txt))
die ("passErrorSymbol");
if ((strlen($newpass) < 4) or (strlen($newpass) > 20))
die ("errorPassSmall");
if($newpass != $newpass2)
die("errorPassToPass");
$md5oldpass = md5($oldpass);
$resultat = mysql_query("SELECT * FROM $db_table WHERE $db_columnUser = '$user' AND $db_columnPass = '$md5oldpass'");
Из файла sendpass.php
Код:
<?php
header('charset: UTF-8;');
include_once("connect.php");
$user=$_GET['user'];
$mail=$_GET['email'];
if(strlen($user) == 0){
die("errorField");
}elseif(strlen($mail) == 0){
die("errorField");
}
$resultat = mysql_query("SELECT * FROM $db_table WHERE $db_columnUser = '$user' AND $db_columnEmail = '$mail'");
и т.д.
То есть запросто (SQL инъекция) можно поменять пароль любому пользователю, не зная пароля. А потом и всю базу данных слить.
Я писал раньше об этой ошибке в лаунчере от 2012 года, был ответ:
Тогда я так и не проверил, но сегодня я искал что бы взломать и нашел это.
Что это за преднамеренное вредительство?