안녕하세요 :)
문제 tip
1. 버퍼에 엄청 많은 값을 입력하면 주소는 어떻게 변할까?
코드 쓱싹
변경 사항
if(argv[1][46]=="\xff")이면 종료 시킨다.
이번 문제는 단순하면서도 재미있습니다.
지금까지 풀었던 문제에서 ret에 담는 주소는 bffff~와 같은 형태였습니다.
근데 argv[1][46]이 \xff이면 프로그램을 종료시킵니다.
이를 우회 할 수 있는 방법은 엄청 많은 데이터를 입력 하여 주소를 정상적으로 \ff가 아니게 만들면 됩니다.
(tmp 폴더에 복사 후 core dump를 통해 주소 값을 알아냅니다 :> )
위와 같이 NULL을 100000개 넣어주면 0xbffe~ 주소까지 채울 수 있습니다.
shell 쓱싹
:)
'Study > lob' 카테고리의 다른 글
LOB 8 vampire -> skeleton (0) | 2017.06.12 |
---|---|
LOB 6 orge->troll (0) | 2017.06.12 |
lob tips (풀기전 알아야할 것들) (0) | 2017.06.12 |
LOB 5 (darkelf -> orge) (0) | 2017.06.12 |
LOB level6 (wolfman->darkelf) (0) | 2016.09.13 |
댓글