일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- BEST of the BEST
- command
- #
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- vi
- Find
- Network
- 인터럽트
- libtins
- 오버워치 세이버메트릭스
- FTZ 레벨2
- vim
- #MINT64 #Sqix
- >
- linux
- #Best of the Best #OS #MINT64 #Sqix
- KASAN
- libpcap
- vi 외부 명령어
- C++11
- Sqix
- #IntelManual
- Overwatch League SaberMetrics
- 오버워치
- #Qt Creator
- ftz
- Today
- Total
목록전체 글 (76)
Sqix
이번에는 Lab04 : Return to libc 문제를 풀어보겠습니다. Return to libc 문제는 말 그대로 libc로 돌아가겠다! 는 의미인데요, NX라는 보호 기법을 우회하기 위해서 공유 라이브러리의 함수 주소로 Return Address값을 변경해 libc라이브러리 안에서 offset을 이용해 함수를 호출하는 기법입니다. 바로 gdb를 이용해 실행 흐름을 확인해보겠습니다. (ida를 쓸 수 없는 환경이라 gdb로만 보겠습니다.) puts를 이용해서 4줄을 출력합니다. 이후 printf를 이용해서 다시 1줄을 출력하네요. ############################### Do you know return to library ? ############################### ..
lab03 ret2sc 문제입니다. Return to shellcode 기법은 return address를 shellcode 시작 주소로 덮어주는 기법입니다. 실행을 해 보니, Name: 를 통해서 이름을, Try your best: 를 통해서 문자열을 받아오고 프로그램이 종료됩니다. 실행 파일을 gdb에 올려서 어셈블러 코드를 보도록 하겠습니다. 간략히 어셈을 해석해 보면 main(){ char buf[48] //sub 0x30 setvbuf(0x804a040, 0x0, 0x2, 0x0); printf(0x80485d0); read(0, 0x804a060, 0x32); printf(0x80485d6); gets(buf); return; } 정도인것 같습니다. read에서 0x32를 받고, gets에서는..
문제 이름부터 shellcraft를 사용해서 문제를 풀라고 하는 듯 하네요. Shellcraft 매뉴얼 링크부터 알아봅시다. http://docs.pwntools.com/en/stable/shellcraft/i386.html - i386 http://docs.pwntools.com/en/stable/shellcraft/amd64.html - amd64 저희가 풀 환경은 i386이므로 위의 매뉴얼을 참고합시다. 이제 문제에 대해서 파악을 해 보면, lab02에 접근하면 실행 가능한 ELF 파일인 orw.bin 파일이 있습니다. 원래는 training.pwnable.tw:11002에 원격으로 붙어서 해야 하나 본데, 서버가 죽었는지 붙어도 반응이 없네요. 로컬에서 풀 수 있게 파일을 하나 만들어 보도록 합시..