Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как расшифровав вытянуть пароль со строки в бд password?

Как расшифровав вытянуть пароль со строки в бд password?


     07.08.2015    Общие вопросы по PHP, Хаки, Ламерские вопросы    1460

вопрос
В общем задача такова. Хочу прикрутить сторонний скрипт, никак не связанный с DLE. Переписал запросы в скрипте, чтоб id пользователя, имя и пароль брались с бд DLE. Одна беда, DLE шифрует пароли, а скрипту нужны без шифровки. Подскажите что можно придумать?
Есть в скрипте в коде пунктик, где можно вставить код шифровки для его снятия. Вот кусок кода:

// replace encryption  with any encryption key for password ex : l0()(#&$)(&)@()@(%)(%*ksljsr

$encryption = "encryption";

Подскажите знатоки, может у DLE есть конкретный encryption key для пароля?

Ответа пока нет


9 комментариев

PunPun
Эксперт

PunPun - 7 августа 2015 07:58 -

да да, расшифровуй md5. вперед!

well​

DomiTori
Юзер

DomiTori - 7 августа 2015 10:20 -

хорошо, другой вопрос. при регистрации пароль записывается в бд в зашифрованном виде, как изменить скрипт регистрации так, чтоб он вписывал дополнительно пароль в другую строку бд, но уже без шифровки?

vitnet
Эксперт

vitnet - 7 августа 2015 10:25 -

DomiTori,
А не проще ли добавить тот же алгоритм проверки/шифровки в сторонний код/модуль?

PunPun
Эксперт

PunPun - 7 августа 2015 10:42 -

vitnet, обернуть в md5
$member_id['password'] == md5( $_POST['login_password'] )

well​

DomiTori
Юзер

DomiTori - 7 августа 2015 10:58 -

попробую конечно. отпишусь что получится

DomiTori
Юзер

DomiTori - 7 августа 2015 11:51 -

пока безуспешно. код скрипта отличен от dle, тяжело сориентироваться. вот функция входа к примеру

if (isset($_POST['password']) && isset($_POST['username'])){
        
            // check if field are not empty
            if($_POST['password'] != null && $_POST['username'] != null && $_POST['password'] !== '0'){
                
                $password = $mysqli->real_escape_string(trim($_POST["password"]));
                $passtemp = $password;
                $newencrypt = sha1(str_rot13($passtemp . $encryption));
                $password = sha1(str_rot13($password . $encryption));
                $username = $mysqli->real_escape_string(trim($_POST["username"]));
                
                // validate user if pass and username are valid

                $validate = $mysqli->query("SELECT * FROM `users` WHERE `user_password` = '$password' AND `user_name` = '$username' || `temp_pass` = '$passtemp' AND `user_name` = '$username' AND `temp_pass` != '0' AND `temp_time` != ''");
        
                
                if($validate->num_rows > 0){
                
                        $valid = $validate->fetch_array(MYSQLI_BOTH);    
                        $validtime = $valid['temp_time'] + 86400;
                        $join_chat = "$username $join_notice";
                        $post_time = date("H:i", $time);
                        
                        if($valid['temp_pass'] == $passtemp){
                            if($time < $validtime){    
                                if($valid['user_status'] == 4){
                                    $mysqli->query("UPDATE `users` SET `temp_pass` = '0', `temp_time` = '', `user_password` = '$newencrypt', `last_action` = '$time' WHERE `user_name` = '$username'");
                                }
                                else {
                                    $mysqli->query("UPDATE `users` SET `temp_pass` = '0', `temp_time` = '', `user_password` = '$newencrypt', `last_action` = '$time', `user_status` = '1' WHERE `user_name` = '$username'");
                                }
                                setcookie("username","$username",time()+ (1000 * 1000));
                                setcookie("password","$newencrypt",time()+ (1000 * 1000));
                                echo 3;
                            }
                            else {
                                $mysqli->query("UPDATE `users` SET `temp_pass` = '0', `temp_time` = ''  WHERE `user_name` = '$username'");
                                echo 4;
                            }
                        }
                        else {
                            setcookie("username","$username",time()+ (1000 * 1000));
                            setcookie("password","$password",time()+ (1000 * 1000));
                            ...

Kolya groza morey
Юзер

Kolya groza morey - 7 августа 2015 11:58 -

Так этот скрипт тоже шифрует пароли только в sha1

PunPun
Эксперт

PunPun - 7 августа 2015 11:59 -

Kolya groza morey, у него все перед глазами и ничего не видит, ему говорили что в dle двойное md5. А тут sha1 он даже ничего не менял.

well​

DomiTori
Юзер

DomiTori - 7 августа 2015 12:01 -

Gameer,это я без изменений чистый файл скинул. я то меняю, пока безуспешно

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх