Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогите решить задачку....

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Журнал Xakep] >> Помогите решить задачку....
Имя
Сообщение << Старые топики   Новые топики >>
Помогите решить задачку.... - 2005-08-30 22:47:19   
Ker Laeda

Сообщений: 38
Оценки: 0
Присоединился: 2005-08-21 20:13:13
Люди помогите плз!!!
Нашел в инете интересный хтмл файл, закачал его на свой сайт http://cyberpunknotdead.narod.ru/1.html там ничего нет кроме строки для ввода пароля но в если открыть сорс можно увидеть очень интересную систему шифрования этого пароля… помогите до него добраться второй день голову ломаю..
зы чисто спортивный интерес [sm=14.gif]
Post #: 1
Помогите решить задачку.... - 2005-08-31 01:46:22   
AL

Сообщений: 515
Оценки: 0
Присоединился: 2004-07-19 03:19:44
Гы так дай посмотреть на эту шифровку[sm=9.gif] Или ты решил, что тут телепаты?[sm=go139.gif]
Post #: 2
Помогите решить задачку.... - 2005-08-31 01:52:51   
sysfuck3r

Сообщений: 355
Оценки: 0
Присоединился: 2005-03-22 19:39:54
Гы, все таки ты отписался, да ?
Post #: 3
Помогите решить задачку.... - 2005-08-31 14:30:47   
Ker Laeda

Сообщений: 38
Оценки: 0
Присоединился: 2005-08-21 20:13:13
<!–HEAD–>

<Sсгiрt language="JavaSсгiрt">
function Kod(s, pass) {var i=0; var BlaBla=""; for(j=0; j<s.length; j++)
{BlaBla+=String.fromCharCode((pass.charCodeAt(i++))^(s.charCodeAt(j)));
if (i>=pass.length) i=0;
}
return(BlaBla); }

function f(form)
{
var pass=dосиmеnt.form.pass.value;

var hash=0;
for(j=0; j<pass.length; j++){
var n= pass.charCodeAt(j);
hash += ((n-j+33)^31025);
}

if (hash == 124313) {
var Secret =""+"\x68\x56\x42\x18\x50\x4B\x52\x18\x47\x5C\x45\x41\x11\x5A\x42\
x4A\x58\x56\x42\x4B\x11\x49\x52\x4A\x42\x56\x59\x19\x11\x76\x7C\x16\x11\x70\
x17\x54\x58\x4F\x52\x18\x58\x57\x17\x5B\x58\x4D\x4E\x18\x7A\x78\x7A\x7D\x7F\
x6A\x7C\x15\x64\x6B\x76\x74\x62\x72\x7E\x61\x1D\x19\x62\x4A\x50\x55\x17\x4A\
x54\x5E\x5E\x57\x5F\x17\x17\x71\x11\x58\x5A\x18\x03\x0C\x17\x41\x54\x58\x45\
x4B\x11\x56\x5B\x5C\x1F\x19\x7A\x41\x11\x5F\x56\x4E\x5E\x4B\x5E\x4C\x54\x19\
x43\x50\x58\x57\x50\x4B\x0B\x19\x5A\x41\x11\x4E\x5E\x5E\x54\x19\x79\x59\x45\
x58\x5B\x51\x48\x58\x1B\x18\x5C\x40\x17\x7F\x43\x5C\x56\x4C\x11\x5A\x58\x4D\
x5F\x4D\x45\x41\x11\x6B\x42\x4B\x42\x50\x56\x14\x11\x4A\x54\x51\x54\x57\x43\
x51\x57\x50\x54\x18\x53\x56\x58\x53\x42\x15\x17\x71\x5F\x4D\x52\x4A\x5F\x5C\
x43\x14\x11\x5B\x52\x5D\x43\x1F\x41\x57\x55\x52\x56\x16\x11\x6E\x5E\x54\x5D\
x19\x55\x5D\x11\x5C\x59\x57\x44\x5E\x5F\x18\x0A\x10\x19"+"";
var s=Kod(Secret, pass);
dосиmеnt.write (s);
} else {а1егt ('Wrong password!');}
}
</Sсгiрt>

<center>
<form name="form" method="post" action="">
<b>Enter password:</b>
<input type="password" name="pass" size="30" maxlength="30" value="">
<input type="button" value=" Go! " опс1iск="f(this.form)">
</form>
</center>
<!–/HEAD–><!– ><!– "><!– '><!– –></textarea></form>
</title></comment></a>
</div></span></ilayer></layer></ifгаmе></noifгаmеs></style></noSсгiрt></table></Sсгiрt></applet></font>
<style>
#bn {display:block;}
#bt {display:block;}

</style>
<Sсгiрt language="JavaSсгiрt" src="http://bs.yandex.ru/show/163"></Sсгiрt>
<!– mailto:spm111@yandex.ru –>

вот код этой функции мне нужно узнать какой пароль
или что она в итоге выведет
Post #: 4
Помогите решить задачку.... - 2005-08-31 14:33:11   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
ща глянем…
Post #: 5
Помогите решить задачку.... - 2005-08-31 14:35:01   
Ker Laeda

Сообщений: 38
Оценки: 0
Присоединился: 2005-08-21 20:13:13
там короче, авторизацию надо пройти, это исходник страницы,
есть два варианта или подобрать хэшированный пароль или расшифровать то что эта функция выводит…
Post #: 6
Помогите решить задачку.... - 2005-08-31 14:37:42   
Ker Laeda

Сообщений: 38
Оценки: 0
Присоединился: 2005-08-21 20:13:13
оффтоп, народ, кинте плз задачки на криптоанализ, весь инет перерыл, не нашел…
Post #: 7
Помогите решить задачку.... - 2005-08-31 15:12:13   
B@rs

Сообщений: 301
Оценки: 0
Присоединился: 2005-05-23 18:09:22
quote:

—————-<BR>Цитата: Дата:31.08.2005 14:37:42, Автор:Ker Laeda ::
оффтоп, народ, кинте плз задачки на криптоанализ, весь инет перерыл, не нашел…
—————-


Да что ты??
Прям ни одной??
А &#1069;ТО что по твоему???
Post #: 8
Помогите решить задачку.... - 2005-08-31 15:15:54   
Ker Laeda

Сообщений: 38
Оценки: 0
Присоединился: 2005-08-21 20:13:13
спасибки…
Post #: 9
Помогите решить задачку.... - 2005-08-31 15:22:35   
B@rs

Сообщений: 301
Оценки: 0
Присоединился: 2005-05-23 18:09:22
quote:

—————-<BR>Цитата: Дата:31.08.2005 15:15:54, Автор:Ker Laeda ::
спасибки…
—————-


Яндексу скажи спасибо..:)
Не бойся спрашивать, ни Яндекс ни Гугль не будут тебя бить по голове, если ты задолбаешь запросами..:)
Post #: 10
Помогите решить задачку.... - 2005-08-31 15:46:56   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
ну пароль-то я нашел, тока там херня какая-то вывелась… если надо, стукни в аську..
Post #: 11
Помогите решить задачку.... - 2005-08-31 19:59:58   
Great

Сообщений: 1046
Оценки: 0
Присоединился: 2005-08-11 19:41:36
да там обычный циклический xor епть!
Post #: 12
Помогите решить задачку.... - 2005-08-31 20:05:45   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
да, тока попробуй вычислить пасс =) ну или брут напиши..[sm=go139.gif]
Post #: 13
Помогите решить задачку.... - 2005-09-01 22:35:16   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Гы, а что там зашифровано? Если исходить из предположения что текст, чой-то нифига не получается.
А вообще – кому надо тот пусть и ковыряет :). Вот как я пытался:
1) утв: пароль длинной 4 символа. (доказывайте сами)
2) следующая программка, наводящие на размышления результаты выводит:
#include <stdio.h>
#include <string.h>
char msg[] = "\x68\x56\x42\x18\x50\x4B\x52\x18\x47\x5C\x45\x41\x11\x5A\x42"
"\x4A\x58\x56\x42\x4B\x11\x49\x52\x4A\x42\x56\x59\x19\x11\x76\x7C\x16\x11\x70"
"\x17\x54\x58\x4F\x52\x18\x58\x57\x17\x5B\x58\x4D\x4E\x18\x7A\x78\x7A\x7D\x7F"
"\x6A\x7C\x15\x64\x6B\x76\x74\x62\x72\x7E\x61\x1D\x19\x62\x4A\x50\x55\x17\x4A"
"\x54\x5E\x5E\x57\x5F\x17\x17\x71\x11\x58\x5A\x18\x03\x0C\x17\x41\x54\x58\x45"
"\x4B\x11\x56\x5B\x5C\x1F\x19\x7A\x41\x11\x5F\x56\x4E\x5E\x4B\x5E\x4C\x54\x19"
"\x43\x50\x58\x57\x50\x4B\x0B\x19\x5A\x41\x11\x4E\x5E\x5E\x54\x19\x79\x59\x45"
"\x58\x5B\x51\x48\x58\x1B\x18\x5C\x40\x17\x7F\x43\x5C\x56\x4C\x11\x5A\x58\x4D"
"\x5F\x4D\x45\x41\x11\x6B\x42\x4B\x42\x50\x56\x14\x11\x4A\x54\x51\x54\x57\x43"
"\x51\x57\x50\x54\x18\x53\x56\x58\x53\x42\x15\x17\x71\x5F\x4D\x52\x4A\x5F\x5C"
"\x43\x14\x11\x5B\x52\x5D\x43\x1F\x41\x57\x55\x52\x56\x16\x11\x6E\x5E\x54\x5D"
"\x19\x55\x5D\x11\x5C\x59\x57\x44\x5E\x5F\x18\x0A\x10\x19";

char stats[4][256];

int main ()
{
int i, j;
for (i = 0; i + 3 < strlen (msg); i ++)
for (j = 0; j < 4; j ++)
stats[j][msg] ++;<BR> <BR> for (i = 0; i &lt; 256; i ++) {<BR> for (j = 0; j &lt; 4; j ++) {<BR> if (stats[j][и] &gt; 0)<BR> goto output_row;<BR> }<BR> continue;<BR> output_row:<BR> printf (&quot;0x%02x: %4d, %4d, %4d, %4d\n&quot;, i, stats[0][и],<BR> stats[1][и], stats[2][и], stats[3][и]);<BR> }<BR> return 0;<BR>}<BR>
Post #: 14
Помогите решить задачку.... - 2005-09-02 00:05:27   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
да нах тут брут писать, там пасс 7954 и 7949, находится методом тупого подбора за 5 мин….мож еще какие есть, я не проверял..
Post #: 15
Помогите решить задачку.... - 2005-09-02 00:28:27   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Причём здесь брут? Программка не понятна? Она просто считает количество тех или иных значений которые появляются в позициях i*4 + k, для k = 0, 1, 2, 3.
Результаты смущают. Особенно с учётом того, что напрашивающиеся пароли 1111, XXXX, xxxx не катють. Ещё более загадочно, что 1xXX, 1XxX, 1XXx, xX1X, Xx1X, XX1x проходят проверку. Может совпадение?
А проверку пройдёт достаточно много паролей. Я специально не пытался сосчитать сколько, но шесть штук с нужным хешом мне попалось. Хотя не сложно и сосчитать, что-то вроде количества способов, разбить число 124313 на сумму четырёх слагаемых, каждое из которых в диапазоне от 0x7900 до 0x79FF, ну не совсем, конечно, может раза в полтора-два меньше или больше, но всё равно, того порядка число будет.
Post #: 16
Помогите решить задачку.... - 2005-09-02 10:54:09   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
quote:

—————-<BR>Цитата: Дата:02.09.2005 0:28:27, Автор:rgo ::
Причём здесь брут? Программка не понятна? Она просто считает количество тех или иных значений которые появляются в позициях i*4 + k, для k = 0, 1, 2, 3.<BR><BR>Результаты смущают. Особенно с учётом того, что напрашивающиеся пароли 1111, XXXX, xxxx не катють. Ещё более загадочно, что 1xXX, 1XxX, 1XXx, xX1X, Xx1X, XX1x проходят проверку. Может совпадение?<BR><BR>А проверку пройдёт достаточно много паролей. Я специально не пытался сосчитать сколько, но шесть штук с нужным хешом мне попалось. Хотя не сложно и сосчитать, что-то вроде количества способов, разбить число 124313 на сумму четырёх слагаемых, каждое из которых в диапазоне от 0x7900 до 0x79FF, ну не совсем, конечно, может раза в полтора-два меньше или больше, но всё равно, того порядка число будет.<BR><BR>
—————-



Я примерно так же рассуждал. Фишка в том, что пароль используется не только функцией проверки (которая, как все успели заметить, пропускает только верный результат, но и некоторые неверные), но и функцией Kod, которая обрабатывает текст тем-же XOR и выводит уже расшифрованную строку. По сути, имеем XOR с неизвестным ключом.
Post #: 17
Страниц:  [1]
Все форумы >> [Журнал Xakep] >> Помогите решить задачку....







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.