ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Конкурс
  #1  
Старый 20.08.2007, 20:48
Tid0Wlas
Новичок
Регистрация: 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);
}
}
 
Ответить с цитированием

  #2  
Старый 20.08.2007, 21:10
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

Зачем выкладываешь вопрос, если рядом лежит ответ? А вообще ничего интересного, помимо %s можно и другие типы подставлять.
 
Ответить с цитированием

  #3  
Старый 20.08.2007, 22:35
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

>>buff[strlen(&buff[0])-1] = '\0';
класс
 
Ответить с цитированием

  #4  
Старый 20.08.2007, 22:53
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

ZaCo, непросто класс, это просто верх искусства. Собственно вопрос к ТС, зачем было писать такой извратный код, если главной фичой была уязвимость в printf ? Дело в том, что знающий человек сразу проверит программу на переполнение буффера и на уязвимости в таких функциях, как printf, а новичек даже заморачиваться не будет на такую ерунду, следовательно незачот. Мне так и вообще не понравился такого плана конкурс, складывается впечатление, что автор начитался Криса Касперски и начал релизить сомнительного рода конкурсы.
 
Ответить с цитированием

  #5  
Старый 21.08.2007, 17:16
Tid0Wlas
Новичок
Регистрация: 19.05.2007
Сообщений: 6
Провел на форуме:
35925

Репутация: 1
По умолчанию

Цитата:
Сообщение от Ni0x  
Зачем выкладываешь вопрос, если рядом лежит ответ?
Как правило решают сами, а потом смотрят в "ШПОРУ"
Я не говорил, что квест сложный, квест простой.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новогодний конкурс Че Гевара Болталка 100 11.12.2009 20:41
Конкурс "Лучшая статья", проводит inattack.ru ENFIX Болталка 0 06.03.2007 22:02
Конкурс Сисадминских Рекордов Sn@k3 Мировые новости 0 11.01.2007 13:04
КОНКУРС от NhT 4ugak[NhT] Болталка 80 24.01.2005 09:52



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ