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

28.10.2009, 10:55
|
|
Познающий
Регистрация: 21.10.2009
Сообщений: 32
Провел на форуме: 85625
Репутация:
1
|
|
Сообщение от slesh
судя по всему дело обстоит так:
Уязвимая функция определяет длину строки и в конце неё дописывает другие данные.
В твоем случае часть этого текста - "in ,"
p.s. а зачем тебе именно настолько нижние адреса?
и что делать?
я с начало вшил шеллкод в буфер(он 0..1024)
программа обращается к [1030] за адресом. но т.к. у меня в шеллкоде содержатся \х00 то из-за них не возникало ошибки.
я взял по адресу [1030] разместил адрес на [1031] куда и положил шеллкод.
адрес я беру из olly'ки смотрю где расположен шеллкод и на него ссылаюсь . вот код
int handling(SOCKET c)
{
char buffer[BUFFER_SIZE], name[NAME_SIZE];
int bytes;
strcpy(buffer, "My name is: ");
bytes = send(c, buffer, strlen(buffer), 0);
if (bytes == -1)return -1;
bytes = recv(c, name, sizeof(name), 0);
if (bytes == -1)return -1;
name[bytes - 1] = '\0';
sprintf(buffer, "Hello %s, nice to meet you!\r\n\0", name);
bytes = send(c, buffer, strlen(buffer), 0);
if (bytes == -1)return -1;
return 0;
}
p.s. я только начинаю разбираться в этом. статьи которые читал(их не так много) с ошибками идут.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|