All
-
lvl 03 cobolt -> goblinWargame/HackerSchool The Load of the BOF Redhat 2019. 1. 22. 09:41
→ 소스코드는 아래와 같다. 1 /* 2 The Lord of the BOF : The Fellowship of the BOF 3 - goblin 4 - small buffer + stdin 5 */ 6 7 int main() 8 { 9 char buffer[16]; 10 gets(buffer); 11 printf("%s\n", buffer); 12 } → 어셈블리 코드는 아래와 같다. 0x80483f8 0x80483f9 0x80483fb 0x80483fe 0x8048401 0x8048402 0x8048407 0x804840a 0x804840d 0x804840e 0x8048413 0x8048418 0x804841b 0x804841c push %ebp mov %ebp,%esp sub %esp,16 lea ..
-
[Toddler's Bottle] bofWargame/pwnable.kr Challenge 2019. 1. 22. 09:39
→ 문제는 아래와 같다. → 바이너리와 소스파일을 다운로드한 후, 분석 환경(ubuntu)에 업로드하여 확인한다. → 코드를 살펴보면, func 함수의 인자 값은 0xdeadbeef 인데 gets 함수를 통해 사용자 입력 값을 받는다. 이를 통해, 0xdeadbeef 값을 0xcafebabe 값으로 변경하여 쉘을 획득하는 버퍼오버플로우 문제임을 알 수 있다. → gdb 디버깅을 통해 func 함수를 디스어셈블하여 스택 구조를 파악한다. (gdb) disas funcDump of assembler code for function func: 0x0000062c : push ebp 0x0000062d : mov ebp,esp 0x0000062f : sub esp,0x48 0x00000632 : mov eax,..
-
lvl 14Wargame/HackerSchool FTZ 2019. 1. 22. 09:37
→ 힌트 정보 열람. → 버퍼오버플로우 문제로 추측되며, check 변수의 값에 0xdeadbeef 값을 덮어쓰는것을 목표로 한다. 메모리 맵을 그리기 위해, gdb를 이용하여 디버깅한다. [level14@ftz tmp]$ gdb -q abc(gdb) set disassembly-flavor intel(gdb) disas mainDump of assembler code for function main:0x080483b8 : push ebp0x080483b9 : mov ebp,esp0x080483bb : sub esp,0x380x080483be : and esp,0xfffffff00x080483c1 : mov eax,0x00x080483c6 : sub esp,eax0x080483c8 : sub esp,0x..
-
리눅스 명령어 정리 (2)Pentesting/Linux 2019. 1. 17. 19:27
▷ logger 명령어:운영체제의 주요 로그 저장 파일(/var/log/messages)에 메시지를 저장한다.[문법]: logger [옵션] [메시지][옵션]: -f 파일에 로그를 기록한다, -i 작성되는 로그마다 프로세스ID를 포함, -p 우선권이 있는 메시지를 저장 [TEST]>logger -i 'date' Shell Scripting!>tail /var/log/messages...Dec 19 06:54:32 localhost root[30738]: 2014.12.19. (금) 06:54:32 KST Shell Scripting!... ▷ lsof 명령어:lsof(list open files) 명령어는 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스,디바이스 정보, 파일의 종류 등을 표시[문법..