Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

20.08.2007, 20:48
|
|
Новичок
Регистрация: 19.05.2007
Сообщений: 6
Провел на форуме: 35925
Репутация:
1
|
|
Конкурс
НУЖНО ВВЕСТИ ТАКОЙ ПАРОЛЬ, ЧТОБЫ ПРОИЗОШЛА ОШИБКА. КТО ПЕРВЫЙ ТОТ И ПОБЕДИЛ. ВЫ ДОЛЖНЫ ОБЪЯСНИТЬ СУТЬ ЭТОГО БАГА И НАПИСАТЬ ЭТУ СТРОКУ НА ФОРУМЕ. Да и ещё на если, кто думает, что это развод чистой воды (прпаши ближнего своег) иди на (http://www.kiber-zona.org/index.php?showtopic=2044) форум киберзоны конкурс и смотри мой ответ с прохлждением.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define len 255
int test();
int main()
{
int i = test();
system("PAUSE");
}
int test()
{
char buff[len],forprint[len];
printf("ENTER PASSWORD: ");
fgets(&buff[0], len-1, stdin);
strcpy(&forprint[0], &buff[0]);
buff[strlen(&buff[0])-1] = '\0';
//-------------------------------------------------start
register int i=0,a=0;
size_t n;
n = strlen(buff);
for (;i<n;i++)
{
if (a >= 32764)
a = 0x00;
else
a += buff[i];
}
for (i=0;i<n; i++)
{
buff[i] = (buff[i] ^ a) ^ (n^i);
}
//--------------------------------------------------------AND
if (strcmp("}trrwy", &buff[0])==0)
{
printf("PASSWORD Ok: ");
printf(forprint);
}
else
{
printf("INVALID PASSWORD: ");
printf(forprint);
}
}
|
|
|

20.08.2007, 21:10
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Зачем выкладываешь вопрос, если рядом лежит ответ? А вообще ничего интересного, помимо %s можно и другие типы подставлять.
|
|
|

20.08.2007, 22:35
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
>>buff[strlen(&buff[0])-1] = '\0';
класс
|
|
|

20.08.2007, 22:53
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
ZaCo, непросто класс, это просто верх искусства. Собственно вопрос к ТС, зачем было писать такой извратный код, если главной фичой была уязвимость в printf ? Дело в том, что знающий человек сразу проверит программу на переполнение буффера и на уязвимости в таких функциях, как printf, а новичек даже заморачиваться не будет на такую ерунду, следовательно незачот. Мне так и вообще не понравился такого плана конкурс, складывается впечатление, что автор начитался Криса Касперски и начал релизить сомнительного рода конкурсы.
|
|
|

21.08.2007, 17:16
|
|
Новичок
Регистрация: 19.05.2007
Сообщений: 6
Провел на форуме: 35925
Репутация:
1
|
|
Сообщение от Ni0x
Зачем выкладываешь вопрос, если рядом лежит ответ?
Как правило решают сами, а потом смотрят в "ШПОРУ"
Я не говорил, что квест сложный, квест простой.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|