전체 글
-
Lord of BOF - Challenge [6번] Wolfman -> DarkelfWARGAME/LORD OF BOF 2018. 6. 25. 11:32
[Summary]1. 38행의 취약한 strcpy 함수를 이용하여 40 바이트의 buffer 배열에 40바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다.2. egghunter 와 buffer hunter 에 이어 이번문제에 새롭게 추가된 check argv length 를 우회하기 위해 argv[1] ShellCode 를 입력한다.3. buffer 배열에 dummy(44) 입력시킨 후 EIP 레지스터를 argv[1] 의 주소로 변조하여 ShellCode를 실행시킨다.4. 프로그램 실행 권한의 쉘을 획득하여 flag를 획득한다.[Sourcecode]/* The Lord of the BOF : The Fellowship of the BOF - darkelf - egghunter + buf..
-
24Byte ShellcodeHACK/PWNABLE 2018. 6. 25. 11:15
31C0XOR EAX,EAX 50PUSH EAX 68 2F2F7368PUSH 68732F2F 68 2F62696EPUSH 6E69622F 89E3MOV EBX,ESP 50PUSH EAX 53PUSH EBX 89E1MOV ECX,ESP 99CDQ B0 0BMOV AL,0B CD 80INT 80 \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80 Shellcode without %2f\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30..
-
Lord of BOF - Challenge [5번] Orc -> WolfmanWARGAME/LORD OF BOF 2018. 6. 24. 21:17
[Summary]1. 31행의 취약한 strcpy 함수를 이용하여 40 바이트의 buffer 배열에 40바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다.2. 22행의 egghunter 와 34행의 buffer hunter를 우회하기 위해 argv[1] 에 ret(c3) 을 넣고 EIP 레지스터를 argv[1] 의 주소로 변조(ret sled)할 수 있다3. buffer 배열에 ret instruction(4) 와 dummy(40), system 함수의 주소, dummy(4), system 함수의 인자(/bin/sh)를 입력시킨 후 EIP 레지스터를 argv[1] 의 system 함수 부분의 주소로 변조하여 system 함수를 실행시킨다.4. 프로그램 실행 권한의 쉘을 획득하여 flag..
-
Lord of BOF - Challenge [4번] Goblin -> OrcWARGAME/LORD OF BOF 2018. 6. 21. 16:07
[Summary]1. 32행의 취약한 strcpy 함수를 이용하여 40 바이트의 buffer 배열에 40바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다.2. 22행의 egghunter를 우회하기 위해 buffer 배열(스택영역)에 ret(c3) 을 넣고 EIP 레지스터를 buffer 배열의 주소로 변조(ret sled)할 수 있다3. buffer 배열에 ret instruction(4) 와 dummy(40), system 함수의 주소, dummy(4), system 함수의 인자(/bin/sh)를 입력시킨 후 EIP 레지스터를 buffer 배열의 system 함수 부분의 주소로 변조하여 system 함수를 실행시킨다.4. 프로그램 실행 권한의 쉘을 획득하여 flag를 획득한다.[Sour..
-
Lord of BOF - Challenge [3번] Cobolt -> GoblinWARGAME/LORD OF BOF 2018. 6. 20. 16:09
[Summary]1. 10행의 취약한 gets 함수를 이용하여 16 바이트의 buffer 배열에 16바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다.2. buffer 배열에 dummy(20) 값과 system 함수의 주소, dummy(4), system 함수의 인자(/bin/sh)를 입력시킨 후 EIP 레지스터를 buffer 배열의 system 함수 부분의 주소로 변조하여 system 함수를 실행시킨다.3. 프로그램 실행 권한의 쉘을 획득하여 flag를 획득한다.[Sourcecode]/* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin */ int main() { char buffer[16]..
-
Lord of BOF - Challenge [2번] Gremlin -> CoboltWARGAME/LORD OF BOF 2018. 6. 20. 15:57
[Summary]1. 14행의 취약한 strcpy 함수를 이용하여 16 바이트의 buffer 배열에 16바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다.2. buffer 배열에 dummy(20) 값과 system 함수의 주소, dummy(4), system 함수의 인자(/bin/sh)를 입력시킨 후 EIP 레지스터를 buffer 배열의 system 함수 부분의 주소로 변조하여 system 함수를 실행시킨다.3. 프로그램 실행 권한의 쉘을 획득하여 flag를 획득한다.[Sourcecode]/* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer */ int main(int argc, char *argv[]) {..
-
SyntaxHighlighting 사용법etc 2018. 6. 20. 11:37
서론블로그를 작성하면서 여러가지 sysntax highlighting 방법을 찾고 사용해보다가 그 중 유일하게 라인넘버가 표시되는 것을 찾았다.추후 까먹을까봐 정리..본론다운로드 : https://github.com/syntaxhighlighter/syntaxhighlighter 위 링크에서 SyntaxHighlighter 를 받을 수 있다. 그러나 github 사이트의 버전은 작성일 기준 v4 이므로 필자는 블로그를 돌아다니며 v3.0.83 을 다운받았다. [step 1]위 링크에서 다운받은 파일을 압축 해제하여 scripts 폴더와 styles 폴더의 파일들을 tistory manage 페이지의 HTML 의 파일업로드 탭을 통해 업로드한다. [step 2]HTML 탭에서 태그 사이에 아래 내용을 기입..
-
Lord of BOF - Challenge [1번] Gate -> GremlinWARGAME/LORD OF BOF 2018. 6. 20. 00:01
[Summary]1. 14행의 취약한 strcpy 함수를 이용하여 256 바이트의 buffer 배열에 256바이트 이상의 값을 입력함으로써 EIP 레지스터를 덮어씌울 수 있다. 2. buffer 배열에 dummy(260) 값과 system 함수의 주소, dummy(4), system 함수의 인자(/bin/sh)를 입력시킨 후 EIP 레지스터를 buffer 배열의 system 함수 부분의 주소로 변조하여 system 함수를 실행시킨다. 3. 프로그램 실행 권한의 쉘을 획득하여 flag를 획득한다.[Sourcecode]/* The Lord of the BOF : The Fellowship of the BOF - gremlin - simple BOF */ int main(int argc, char *argv[..