본문 바로가기
security/시스템

Protostar - Fromat 4

by aristia 2020. 11. 5.

이번에 풀어볼 문제는 Protostar의 Format 4이다.

문제의 사이트는 아래에서 확인할 수 있다.

old.liveoverflow.com/binary_hacking/protostar/format4.html

 

Format 4 - LiveOverflow

Solving format1 from exploit-exercises.com with a simple Format String vulnerability, exploited with %n.

old.liveoverflow.com

 

1. 문제 확인

exit() 함수를 hello() 함수로 바꿔주어야 한다.
exit()함수의 주소와 hello()함수의 주소를 구해주어야 한다.

 

AAAA를 입력후 포맷 %08x로 값을 확인해보니,
4번째 주소에 41414141이 나왔다.

 

odjump -TR ./format4 명령어를 사용해서 exit 함수 주소 값을 구했다.
여기서 주소 값은 0x08049724이다.

 

이번에는 objdump -t ./format4를 이용해서 hello 함수 주소 값을 구했다.
여기서 주소 값은 0x080484b4이다.

 

이걸 10진수로 바꾸면 134513844이다.

 

134513844에서 exit함수 주소 4 + %08x * 2 = 20이다.

여기서 134,513,844 - 20을 하면 134513824가 된다.

이것을 이용해서 다음과 같이 코드를 작성해주면 된다.

 

 

'security > 시스템' 카테고리의 다른 글

시스템 리눅스 용어 정리 1  (0) 2021.01.10
Protostar - Heap 0  (0) 2020.11.08
Protostar - Format 3  (0) 2020.11.05
Protostar - Format 2  (0) 2020.11.05
Protostar - Format 0  (0) 2020.11.03

댓글