목록전체 보기 (89)
둘둘리둘둘리둘둘리둘둘리둘둘리둘
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
root@Kali-Linux:/home/flag# ltrace ./nos__libc_start_main(0x40050c, 1, 0x7fffd6006a28, 0x400540, 0x400530 printf("hello") = 5hello+++ exited (status 0) +++ __libc_start_main에 첫번째 인자가 main함수의 주소 root@Kali-Linux:/home/flag# objdump -f ./nos ./nos: file format elf64-x86-64architecture: i386:x86-64, flags 0x00000112:EXEC_P, HAS_SYMS, D_PAGEDstart address 0x0000000000400400 root@Kali-Linux:/home/flag..
/* The Lord of the BOF : The Fellowship of the BOF - cruel - Local BOF on Fedora Core 4 - hint : no more fake ebp, RET sleding on random library*/ #include #include #include int main(int argc, char *argv[]){ char buffer[256]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer);} 주어진 힌트대로 풀자면 random library 주소가 ebp+8이 될때까지 ret sleding으로 esp를 내리고 execl을..
#include // magic potion for youvoid pop_pop_ret(void){ asm("pop %eax"); asm("pop %eax"); asm("ret");} int main(){ char buffer[256]; char saved_sfp[4]; int length; char temp[1024]; printf("dark_stone : how fresh meat you are!\n"); printf("you : "); fflush(stdout); // give me a food fgets(temp, 1024, stdin); // for disturbance RET sleding length = strlen(temp); // save sfp memcpy(saved_sfp, buffe..
/* The Lord of the BOF : The Fellowship of the BOF - evil_wizard - Local BOF on Fedora Core 3 - hint : GOT overwriting*/ // magic potion for youvoid pop_pop_ret(void){ asm("pop %eax"); asm("pop %eax"); asm("ret");} int main(int argc, char *argv[]){ char buffer[256]; char saved_sfp[4]; int length; if(argc < 2){ printf("argv error\n"); exit(0); } // for disturbance RET sleding length = strlen(argv..