[HackCTF] :pwn: Basic_BOF #1, #2

두비니

·

2021. 3. 5. 08:30

 

 

 

 

 

Basic_BOF #1

 

 

 

 

s에 입력을 받는데 값은 v5를 확인하고 있네요.

s는 위치가 ebp-0x34인 반면, v5는 ebp-0xC에 위치하고 있기 때문에 dummy를 0x28, 즉 10진수 40만큼 집어넣어주면 될 것 같습니다.

 

그리고 v5의 확인값이 이상해서 hex로 바꾸어봤더니 0xDEADBEEF네요. 잘 넣어주도록 하겠습니다.

 

 

 

 

 

간단하네요

 

 

 

Basic_BOF #2

 

 

 

 

 

아이다 코드를 보면 특유의 굉장히 복잡한 코드를 보여주고 있는데 보면 그냥 sup함수를 실행시키는거죠?

sup함수는 확인해봤는데 그냥 s를 출력시키는 역할을 하고 있습니다.

 

 

s는 미루어짐작하기에 저거구요.

그럼 취약점은 뻔하게도 bof입니다. s는 크기가 0x80인데 fgets를 통해서 0x85이나 입력을 받고 있으니까요. 

원래같으면 ret에다가 원하는 함수의 주소를 넣겠지만, v5라는 변수에 함수의 주소를 넣은 뒤에 실행시키고 있으니, 그냥 0x80만큼 더미를 채우고, 바로 함수의 주소를 입력하면 될 것 같네요. 입력제한때문에 어차피 ret에는 입력을 못하기도 하구요.

 

 

마침 shell이라는 함수도 만들어놨네요.

 

 

shell의 주소는 0x0804849b네요. 이걸로 코드를 작성합시다.

 

 

굳굳

 

'War Games > HackCTF' 카테고리의 다른 글

[HackCTF] :pwn: x64 Buffer Overflow  (0) 2021.03.08
[HackCTF] :pwn: 내 버퍼가 흘러넘친다!!!  (0) 2021.03.06
[HackCTF] :pwn: Basic_FSB  (0) 2021.03.05
[HackCTF] MISC Write-Up (All-Clear)  (0) 2021.02.15
[HackCTF] Crypto Write-Up  (0) 2021.02.15