상세 컨텐츠

본문 제목

[Write-up] Level 15

Pwnable Write-Up/01.hackerschool F.T.Z

by RACC8N 2019. 12. 7. 22:29

본문

HINT : attackme의 소스코드

 

이번 문제 역시 bof이며, 이전 문제와 다른점은 check가 포인터 형 인 점이다.

 

우선 gdb로 attackme를 분석해보자.

 

ebp-16이 가리키고 있는 값을 갖고와 eax에 넣은 다음. 

 

eax가 가리키고 있는 주소의 값과 deadbeef를 비교하게 된다.

 

따라서 ebp-16가 가리키고 있는 주소가 deadbeef를 가리키도록 하면 된다.

 

처음에는 환경변수로 deadbeef를 저장해 놓고,

 

ebp-16에 환경변수가 들어있는 주소를 넣어보았지만,

 

실행할때마다 바뀌는 주소값 때문에 쉘을 딸 수가 없었다.

 

좀 더 생각해보면 0xdeadbeef가 하드 코딩 되어있기 때문에 분명 메모리에 있을 것이다.

 

0xdeadbeef와 cmp하는 부분 다음 주소를 확인해보면 deadbeef가 들어있는 것을 확인 할 수 있다.

 

이 주소 0x80484b2를 check 위치에 넣어주면 된다. 

 

거리는 이전 문제와 같으므로 "a"40 + 주소를 하면 될 것 같다.

 

이제 level16으로 올라가 보자.

'Pwnable Write-Up > 01.hackerschool F.T.Z' 카테고리의 다른 글

[Write-up] Level 17  (0) 2019.12.07
[Write-up] Level 16  (0) 2019.12.07
[Write-up] Level 14  (0) 2019.12.07
[Write-up] Level 13  (0) 2019.12.07
[Write-up] Level 12  (0) 2019.12.07

관련글 더보기

댓글 영역