본문 바로가기
HACKING_GAME/SYSTEM

PWNABLE#3 bof

by asdf12345 2020. 4. 26.

문제 풀이

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하기 위해 gets함수와 bash와 관련한 내용 확인 필요.-> 구글링

shell 획득 후, 표준 입력 대기가 종료되므로 파이프가 없어진다고한다. (pwnable.kr 9000에 값 전달 X)-> 지속적인 표준입력받는 상태 유지 필요 -> shell에 cat을 치면 cat은 표준입력을 지속적으로 받고 결과를 출력 -> ; cat 명령어 추가한다. 추가를 통해 파이프를 유지하고 획득한 쉘의 내용을 받는다.

 

 

'HACKING_GAME > SYSTEM' 카테고리의 다른 글

LOB#1 gate  (0) 2020.07.19
PWNABLE#7 input  (0) 2020.05.14
LOB#6 check length of argv[1] + egghunter + bufferhunter (wolfman -> darkelf)  (0) 2020.05.10
LOB#4 egghunter (goblin -> orc)  (0) 2020.04.26
LOB#2 small buffer (gremlin -> cobolt)  (0) 2020.04.26