• XSS.stack #1 – первый литературный журнал от юзеров форума

что за шифрование

durito

(L3) cache
Пользователь
Регистрация
04.05.2005
Сообщения
197
Реакции
-1
вот сталкнулся с таким пасами:

s$3pbIc1GPcLw
p$lgA189RApBg
a$sfwQiDahbEI

скрипт шифрует следующим образом:
// this stuff should go below the above stuff (needs $thisDocumentFile)
function makepwd($pwd){
//writefile ($albumRootDir.$strPathSeparator."pwd.txt");
//$_SESSION['pwd'] = $pwd;
}
function setpwd($pwd){
session_register('pwd');
$_SESSION['pwd'] = $pwd;
}
function unsetpwd(){
session_unregister('pwd');
$_SESSION['pwd'] = "";
}
function getpwd(){
global $albumRootDir, $strPathSeparator;
$pwdfile = readonly2array ($albumRootDir.$strPathSeparator."pwd.txt");
return $pwdfile[0];
}
function authenticate($pwdtry){
//echo ("<p>get pwd = ".getpwd());
//echo ("<p>try = ".crypt ($pwdtry));
//print "<p>My system salt size is: ". CRYPT_SALT_LENGTH;
$salt = substr($pwdtry, 0, 1);
//$incomingpwd = $pwdtry;
$incomingpwd = crypt ($pwdtry, $salt);
//echo "<p>incomming pwd: $incomingpwd
";
//echo ("<p>from file: ".getpwd()."<p>");
//echo ("<p>from funk: $incomingpwd<p>");
if($incomingpwd == getpwd()){
return TRUE;
} else {
return FALSE;

если я правильно понял
salt идет до символа $

самое главное чем это можно расшифровать?
 
2 durito
dampil прав, самого нужного как раз и нет.
Кстати, если это хеш во всех его пониманиях (т.е. односторонняя криптографическая функция), то врят ли тебе сильно поможет функция crypt, только если брутфорс сделать...
 
Ну судя по скрипту, могу сказать что функция crypt ($pwdtry, $salt); получает 2 параметра, первый это сам пасс, а второй соль.
Соль($Salt). тут образуется путём обрезаения первого символа от пасса (делает вот тут
substr($pwdtry, 0, 1);
т.е. берётся с 0 символа, и берётся всего 1 символ), пример Vasya - соль V.
Пароли(password's). Видимо хранятся они в файле расположенного по пути $albumRootDir.$strPathSeparator."pwd.txt", т.е. директория видимо каковата альбома, далее разделитель (ныверно / или //) ну и собственно имя файл. pwd.txt, если есть возможность, то и ищи его. Если сможеш найти функцию crypt будет тебе счастье.
 
да пароли я нашел в файле pwd.txt

вот они:
s$3pbIc1GPcLw
p$lgA189RApBg
a$sfwQiDahbEI

функции крипт в скриптах нет, могу скинуть весь исходник, задача расшифровать пароли, кто поможет с тем поделюсь свежим багом, поюзаем вместе или вместе выложим в багтраг
 
Кстати, если это хеш во всех его пониманиях (т.е. односторонняя криптографическая функция), то врят ли тебе сильно поможет функция crypt, только если брутфорс сделать...
врядли автор написал что-то очень крутое. в самописной хрени можно с вероятностью 75% найти ошибку, позволяющую либо вообще расшифровать пароль, либо ускорить брут.
 
Я не заметил когда читал:

могу сказать что функция crypt ($pwdtry, $salt); получает 2 параметра, первый это
лол :)
crypt - стандартная функция языка php.
:zns2: Домашняя страница PHP::Crypt
crypt

(PHP 3, PHP 4, PHP 5)
crypt -- One-way string encryption (hashing)
Description
string crypt ( string str [, string salt] )
 
HP 4, PHP 5)
crypt -- One-way string encryption (hashing)
Description
Я просто в php вообще никада не кодил, вот что я нашёл тоже
Замечание: Функция расшифровки отсутствует, так как crypt() использует необратимый алгоритм шифрования.
 
Короче полный касяк походу.
На системах, где функция crypt() поддерживает несколько алгоритмов шифрования, следующие константы устанавливаются в 0 или 1 в зависимости от доступности соответствующего алгоритма:


CRYPT_STD_DES - Стандартное DES-шифрование с двухсимвольной salt

CRYPT_EXT_DES - Расширенное DES-шифрование с девятисимвольной salt

CRYPT_MD5 - MD5-шифрование с 12-символьной salt, начинающейся с $1$

CRYPT_BLOWFISH - Blowfish-шифрование с 16-символьной salt, начинающейся с $2$
 
Great хеш я полностью вытащил
я имею в виду, что скрипт, получив хеш, еще и извращается над ним. Надо либо вынуть исходный хеш, если алогоритм "извращений" обратим, либо переписать джона так, чтобы он делал такие же действия над хешем
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх