Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Расшифровка пасса (алгоритм не известен) (https://forum.antichat.xyz/showthread.php?t=186248)

Nek1t 12.03.2010 21:12

Расшифровка пасса (алгоритм не известен)
 
Есть пасс в довольно странном виде, я думаю, что это не хэш, а именно закодированный пасс - к примеру, есть зависимость от длины.
Так же есть возможность шифровать любой пасс.
Для примера(я все перевел в бейс64, т.к. непечатаемые символы):
bugmen выглядит как:
PHP код:

WeBueu/N5mfndkxsAysefw== 

aaaaaaaaaaaaaaaaa выглядит как:
PHP код:

eFYCtPLC8chlvNBrX8k4clxXycMYn596ZIQjyh1mtrQ

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

Pashkela 12.03.2010 21:27

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

PHP код:

<?php 
function pass_in($string) {
$result '';
$error 'antichat';
for(
$i=1$i<=strlen($string); $i++) {
$char substr($string$i-11);
$keychar substr($error, ($i strlen($error))-11);
$char chr(ord($char) + ord($keychar));
$result .= $char;
}
return 
$result;
}
?>

так вот $error = 'antichat'; надо знать, типо это и есть ключ

PS: А вообще вариантов миллион и еще один

Nek1t 13.03.2010 18:37

Ок, понятно.
Кстати говоря, в приведенном тобой коде идет обычное сложение ASCII-кодов и как результат одинаковая длина входных и выходных данных. В моем же случае этого не наблюдается.

Pashkela 13.03.2010 18:46

ключ может быть не один, ключ может быть массивом ключей и т.д.

Nek1t 13.03.2010 18:50

Ну, какая разница, даже при нескольких ключах strlen($inputPass) == strlen($outputPass), нэ?
Разве что если подмешивать лишние символы из тех же ключей.

Pashkela 13.03.2010 18:55

Ну для первого символа например береш первое слово из массива, для второго - второе, тут ключевая строка здесь:

$keychar = substr($error, ($i % strlen($error))-1, 1);

а еррор может быть разный


Время: 14:25