HITCON | Training lab3 ret2sc

133210·2021년 7월 23일
0

2020 시스템

목록 보기
12/25
post-thumbnail

read: 0x32(50)바이트를 받아옴
gets(&s): s 변수에 문자열 저장
name: bss 영역에 있는 변수.

name 변수의 주소가 0x0804A060임을 확인 가능

s의 크기 확인 가능 (20바이트)

checksec으로 파일 보호기법 확인

20+4+4(RET)으로 판단해서
name에 쉘코드,
get으로 받아오는 s에 “A”*24+nameaddr을 전달했을 때
쉘 획득 X

main 함수에서 gets 함수 CALL 하는 부분과
setvbuf 함수 처음에 break point 설정

실행해서 esp확인하고
0xffffd05c0x80484fb가 있는 것 확인 (CALL 다음 주소)
Return address 주소는 0xffffd05c

s에 입력

s의 시작은 0xffffd07c임을 알 수 있음
0xffffd07c – 0xffffd05c는 32이므로 둘 사이의 거리는 32
s(20) + dummy(8) + SFP(4)임을 알 수 있음

페이로드 작성
Name에 쉘코드, 이후 배열 s에 A*32+name의 주소를 전달해 줌

0개의 댓글