관리 메뉴

Information Security

DIVA - Input Validation Issues - Part 3 본문

모바일/Android DIVA

DIVA - Input Validation Issues - Part 3

HackingPractice 2021. 1. 6. 12:10

목표: 미사일 발사 코드를 알아내는 것이 아닌 애플리케이션을 crash 시키고 해당 원인을 알아내는 것이 목표이다.

그림 13-1 Input Validation Issues - Part 3

임의의 값 1234 입력 시 Acess denied! 메시지를 확인할 수 있다.

그림 13-2 Access denied

소스코드를 보면 DivaJni 메소드를 참조하는 것을 알 수 있다.

그림 13-3 InputValidation3Activity

소스코드를 보면 '.dotdot'라는 문자열이 하드 코딩된 것을 알 수 있다. 그리고 SIZEMAX가 20으로 설정된 것으로 보아 버퍼오버플로우가 발생할 것 같다.

그림 13-4 divajni.c

.dotdot 문자열을 입력하면 미사일이 발사 카운트를 보여준다.

그림 13-5 .dotdot

divajni.c 소스코드 하단을 보면 문자열을 체크하지 않는 strncmp 함수를 사용하는 것을 알 수 있다.

그림 13-6 strncmp

A 문자를 40개 입력 시 버퍼오버플로우가 발생하는 것을 알 수 있다.

그림 13-7 버퍼 오버플로우