TAMU 2019 | pwn1

2rlo·2021년 8월 18일
0

2020 시스템

목록 보기
23/25
post-thumbnail

RELRO, NX bit, PIE 적용 중

main 함수의 소스 코드
v5 == -559869752 이면 print_flag
s의 크기는 59byte

실행 결과, main 함수에서 if문의 조건에 따라 값을 입력해 봄

print_flag() 함수 소수 코드

print_flag의 조건은 v5 == -559869752인데
이를 Hex로 변경하면 0xdea110c8이라는 값이 나옴
> v5의 값은 0xdea110c8로 변조하면 됨
> 입력 값인 s의 overflow 취약점을 이용

0x3B – 0x10(v5의 크기) = 0x2b = 43(dec)
따라서 더미 43 + 0xdea110c8의 주소 전달

‘Right. Off you go.’가 출력된 것을 보면
본래 flag.txt를 보여주는 print_flag 함수가 실행되었음을 알 수 있음

0개의 댓글