음 해당 문제를 보니 이번에는 stack, 코드영역 둘다 ret에 못 쓰고, 심지어 library를 사용해도 leave, ret를 만나면 나가리 되는 것 같다.
library함수중 leave, ret가 없는 함수를 찾거나 해야할 텐데... 고민하던중 이번에는 이전처럼 argv로 인자를 받지도 않고, gets가 아닌 fgets로 받는 것을 볼 수 있다.
보니 stdin에 입력받아 buffer에 씌우는 것 같은데 그럼 stdin주소를 보면 넣은 인자값이 있지 않을까 생각했다.
main+6부분이 stdin부분을 받는 것 같다. bp를 걸고 확인해 보니
저렇게 들어가 있다. 아마 아직 인자를 안받아서 텅 비어있는 듯 하다.
인자를 받으니 stdin에 공간이 생겼다.
확인해보니 0x40015000에 인자를 받아준다.
그럼 쉘코드를 저곳에 넣고 ret를 저 주소로 해주면 되지 않을까..?
성공~
'war game > LOB' 카테고리의 다른 글
mac OS LOB실행 (0) | 2019.07.04 |
---|---|
LOB-level20(remote BOF) (0) | 2019.07.04 |
LOB-level18(plt) (0) | 2019.07.03 |
LOB-level17(function calls) (0) | 2019.07.03 |
LOB-level16(fake ebp) (0) | 2019.07.03 |