Try to be the expert.

Ainsetin's Hacking & PS & Math

Hacking/HackCTF

HackCTF x64 Buffer Overflow Write-up

Ainsetin 2019. 12. 23. 13:51

이번에는 64bit 기반의 바이너리 문제를 풀어보도록 하겠다.

 

일단 보호 기법부터 확인하자.

 

Full RELRO가 걸려 있고, NX bit가 걸려 있는것을 보니 RET 변조만 가능할 것 같다. 즉, 기본적인 x64 BOF인 것이다.

 

64bit 기반에서는 SFP와 RET가 각각 8byte로 이루어져 있는것 빼고는 32bit 기반과는 거의 똑같다.

 

IDA로 코드부터 보자.

 

main decompile

s의 크기가 0x110=272byte이고 SFP 8byte를 더미로 넣으면 된다! 문제는, system함수를 실행시키는 것이 필요한데...

 

그런데 함수 목록을 보니 callMeMaybe라는 함수를 볼 수 있었다...!!

 

딱보니 쉘을 실행시키는 함수였다...!! 이 함수의 주소는 0x400606이고 RET에 이 주소를 넣으면 될 것이다.

 

exploit code는 다음과 같다.

 

실행시켜보면..!

 

flag를 획득할 수 있게 된다.

'Hacking > HackCTF' 카테고리의 다른 글

HackCTF Simple_Overflow_ver_2 Write-up  (0) 2019.12.23
HackCTF x64 Simple_size_BOF Write-up  (0) 2019.12.23
HackCTF 내 버퍼가 흘러넘친다!!! Write-up  (0) 2019.12.23
HackCTF Basic_FSB Write-up  (0) 2019.12.22
HackCTF Basic_BOF #2 Write-up  (0) 2019.12.22