Pwnable/LOB

[LOB] 2. COBOLT

Lucvs 2020. 8. 28. 15:10

passcode : hacking exported

(NO DRAG, NO PASSCODE)


bash2 입력해주는 것을 까먹지 말자. goblin 이라는 프로그램과 소스코드가 있다. 바로 분석해보자.

작은 버퍼와 표준입력에 대한 문제인 것 같다. cobolt의 문제와 다른 것은 인자가 아닌 표준입력을 받는 함수 gets를 사용하다는 것 뿐이다. 메모리 구조를 분석하고 바로 payload를 짜보자.

메모리 구조는 다음과 같다.

 

—————————— High Address

| ret(4) |

——————————

| sfp(4) |

—————————— ← ebp

| buffer(16) |

—————————— Low Address

 

shellcode 를 export 하고 shellcode 의 주소를 찾자.

shellcode 주소 -> 0xbffffed6

이제 payload를 짜서 쉘을 따보자.


[goblin] : hackers proof