2018/04/10(3)
-
Protostar Simple Writeup
1. Stack0 #include #include #include int main(int argc, char **argv) { volatile int modified; char buffer[64]; modified = 0; gets(buffer); if(modified != 0) { printf("you have changed the 'modified' variable\n"); } else { printf("Try again?\n"); } } buffer 64바이트 후 1바이트의 값을 조작하면 된다. modified가 buffer뒤에 위치하기 때문이다. 2. Stack1 #include #include #include #include int main(int argc, char **argv) { volat..
2018.04.10 -
Protostar
CLEAR LIST Stack0Stack1Stack2Stack3Stack4Stack5Heap0Heap1Stack6Stack7 NOT CLEAR LIST Format0Format1Format2Format3Format4Heap3Heap4Net0Net1Net2Final0Final1Final2 다 풀어 보자 포너블 진짜 미쳐보자.
2018.04.10 -
system함수 릭한 후 /bin/sh 주소 구하기 (NON ASLR)
#include int main(){int shell = 0x주소; // system주소 while(memcmp((void*)shell, "/bin/sh",8))shell++;printf("%x\n",shell);return 0;}
2018.04.10