pwnable.kr - flag

securitykss·2023년 1월 29일
0

pwn-wargame

목록 보기
3/6

1. Description

2. Check

2.1 checksec

2.2 file

2.3 excute

3. Analysis

3.1 gdb

main + 8 ~ 13

+8에서 함수 호출 순서에 따라, edi의 값이 "I will ~~. take it."임을 알 수 있다.

+13에서 puts로 출력

main + 18 ~ 23

malloc을 해서 동적할당을 한다.

main + 32

여기서 rip+0x2c0ee5를 쓰는데, 이 부분에서 "이 문제는 동적 분석 문제"임을 알 수 있었다.

main + 49

call 0x400320 을 하는 것으로 보아, 이 부분이 핵심임을 추측할 수 있었다.

3.2 danamic analysis

3.2.1 rip + 0x2c0ee5

flag의 값이 rdx에 저장되므로

flag가 "UPX...? sounds like a delivery service :)" 임을 추측해 볼 수 있다.

3.2.2 call 0x400320

아! 이 0x400320이라는 함수는 strcpy로 추측해 볼 수 있다.

4. result

결론은, main+32에서의 상대주소를 통해 flag를 읽어 들이고,

main+49에서 strcpy를 호출해, 어딘가에 flag를 쓰는 것임을 알 수 있다.

예전에 풀었던 문제라 이렇게 나왔다.

결국, 이 문제는 리버싱을 할 수 있는지 테스트하는 문제인 것 같다.

profile
보안 공부를 하는 학생입니다.

0개의 댓글