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

27.09.2009, 23:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Buffer Security что-то там (/GS) включён
компилирую вот такой код в Release (вывод добавлен, чтобы оптимизация не убила массив вообще):
Код:
#include "stdio.h"
int main(){
int a[100];
for (int j = 0; j < 1000; j++){
a[j] = j;
}
printf("%d",a[99]);
}
получаю код:
Код:
00401000 SUB ESP,190
00401006 XOR EAX,EAX
00401008 JMP SHORT aaaqqww.00401010
0040100A LEA EBX,DWORD PTR DS:[EBX]
00401010 /MOV DWORD PTR SS:[ESP+EAX*4],EAX
00401013 |INC EAX
00401014 |CMP EAX,3E8
00401019 \JL SHORT aaaqqww.00401010
0040101B MOV EAX,DWORD PTR SS:[ESP+18C]
00401022 PUSH EAX ; /<%d> = 0
00401023 PUSH aaaqqww.004020F4 ; |format = "%d"
00401028 CALL DWORD PTR DS:[<&MSVCR90.printf>] ; \printf
0040102E XOR EAX,EAX
00401030 ADD ESP,198
00401036 RETN
Наслаждайся 
Кстати конкретно данный код приводит к выполнению шеллкода совсем смешным образом - вначале он переписывет SEH запись, а затем уже пытается записать что-то выше верхней границы стека и вызывает exception, обрабатываемый перезаписанным обработчиком. Но можно и просто переписать, если тысячу уменьшить
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

28.09.2009, 18:52
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
В коде не видно защиты, добавляемой /GS, видимо при неиспользовании опасных функций код не добавляется. Я все особенности защиты не изучал, такчто возможно =/
|
|
|

01.11.2009, 17:45
|
|
Познающий
Регистрация: 21.10.2009
Сообщений: 32
Провел на форуме: 85625
Репутация:
1
|
|
Сообщение от Hiro Protagonist
В коде не видно защиты, добавляемой /GS, видимо при неиспользовании опасных функций код не добавляется. Я все особенности защиты не изучал, такчто возможно =/
тоже столкнулся с защитой буфера.
при попытки произвести перезапись в ubuntu
получаю ошибку
*** stack smashing detected ***: stack_vuln terminated
вообщем вопрос как обойти такую защиту?!?!
говорят что ее нельзя обойти.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|