-
[Exploit] Bof-serverCTF write_up/Timisoara CTF 2019. 9. 19. 23:41
소스코드를 한번 확인해 보겠습니다.
gets()함수에서 취약점이 발생합니다.
그러면 한번 실행해 보겠습니다.
스택 주소를 얻을 수 있고, 입력이 가능한 구조 입니다.
IDA로 넣어야 하는 데이터의 크기를 알아보겠습니다.
크기는 256 할당 되어 있습니다.
SFP와 RET의 크기를 확인해 보겠습니다.
SFP : 8 // RET : 8 입니다.
일단 저희는 stack address를 받기 때문에 이를 이용해서 문제를 해결 해야 합니다.
[shellcode] + "\x90"*(256 + 8 - shellcode의 길이) + RET에 들어갈 stack address값 을 전달해 주면 될 것 같습니다.
shellcode는 24byte를 사용합니다. => "\x50\x48\x31\xd2\x48\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x54\x5f\xb0\x3b\x0f\x05"
python exploit code는 아래와 같습니다.
실행 화면은 아래와 같습니다.
Flag : TIMCTF{oooverfl0w}wwwWWW
'CTF write_up > Timisoara CTF' 카테고리의 다른 글
[Exploit] Swag (0) 2019.09.19 [Exploit] Hiss hiss python (0) 2019.09.19 [Crypto] Strange cipher (0) 2019.09.19 [Crypto] Proof of work (0) 2019.09.19 [Crypto] Password breaker (0) 2019.09.19