본문 바로가기

security/시스템17

Protostar - Format 2 이번에 풀어볼 문제는 Protostar 2번 문제이다. 문제는 아래의 사이트에서 확인할 수 있다. old.liveoverflow.com/binary_hacking/protostar/format2.html Format 2 - LiveOverflow Solving format1 from exploit-exercises.com with a simple Format String vulnerability, exploited with %n. old.liveoverflow.com 1. 문제 확인 if(target == 64) { printf("you have modified the target :)\n"); 이 부분에 주목을 하면 target을 64로 바꿔주어야 한다는 것을 확인할 수 있다. 이렇게 AAAA %08x.. 2020. 11. 5.
Protostar - Format 0 이번에 풀 문제는 format0.c이다. old.liveoverflow.com/binary_hacking/protostar/format0.html Format 0 - LiveOverflow Solving format1 from exploit-exercises.com with a simple Format String vulnerability, exploited with %n. old.liveoverflow.com 문제는 여기서 볼 수 있다. 1. 문제 확인 여기서 주목할 위치는 버퍼에 속하는 -0x4c(%ebp)와 타겟에 속하는 -0xc(%ebp)이다. 형식 문자열을 이용하는 방법은 버퍼 오버플로와 거의 유사하다. 여기서 %128d 형식 문자열의 경우 128바이트 문자열이 발생한다. 이를 이용하면 과거 버.. 2020. 11. 3.
Protostar - Stack2 이번에는 Stack2번 문제를 풀어볼 것이다. Stack2번 문제는 아래 사이트에서 확인할 수 있다. ======================================================== Stack2 looks at environment variables, and how they can be set. This level is at /opt/protostar/bin/stack2 이걸 해석해보면 Stack2는 환경변수와 환경변수를 어떻게 설정할 수 있는지 살펴본다. ======================================================== 1. 문제 확인 이번에도 modified랑 buffer을 선언한 것을 확인할 수 있다. variable = getenv("GRE.. 2020. 9. 22.
Protostar - Stack1 이번에는 Protostar Stack1번 문제 풀이를 진행하겠다. Protostar 문제는 다음 사이트에서 확인할 수 있다. old.liveoverflow.com/binary_hacking/protostar/stack1.html Stack 1 - LiveOverflow This video introduces http://exploit-exercises.com, how to connect to the VM with ssh and explains what setuid binaries are. old.liveoverflow.com 1. 문제 확인 문제를 보면 다음과 같이 설명이 나와있다. 이 수준에서는 프로그램의 특정 값으로 변수를 수정하는 개념, 그리고 변수가 메모리에 어떻게 배치되는지를 살펴본다. if(a.. 2020. 9. 22.
Protostar - Stack 0 선언된 2가지 변수 buffer 64개의 배열선언 modified에는 0을 채워넣고 gets(buffer) 객체 - scanf 사용자 입력을 받는 것 버퍼에다가 사용자 입력을 받아서 전달을 해주는 것 modified가 0인지 확인 결국에는 modified가 0이 아니게 만들어서 출력해야 함 문제는 modified가 항상 0으로 선언되어있다는 것 스택은 거꾸로 올라가니까 modified를 먼저 선언한다. 버퍼가 가득차면 밑에 있는 것들이 변조가 될 수 있다. 버퍼는 손을 댈 수 있다. 그럼 0이 아닌 숫자로 변조 가능하다. 버퍼를 가들 매워서 modified를 바꾼다. 스택 공격에 취약한 컴파일 명령어 gcc -o stack0 stack0.c : stack0.c에서 stakc0이라는 것을 컴파일해서 만들어.. 2020. 9. 19.