[풀이] tiny_easy

해킹대회 문제 풀이 연습장소

Moderator: amesianx

Post Reply
hackhack
Posts: 14
Joined: Mon Sep 26, 2016 1:12 am

[풀이] tiny_easy

Post by hackhack » Thu Oct 06, 2016 9:50 am

네. 시작하자마자, pop 두번하고 두번째 내용을 참조하여 거기로 call 합니다. 어디로 call 하게되는 걸까요?
http://asm.sourceforge.net/articles/startup.html
를 참조하시면, 초기 프로그램이 실행될때의 상태를 알 수 있습니다. 맨 위에 argc가 있고, 그 다음이 argv[0] 입니다. 즉, argv[0] 의 내용을 주소로 하여 call 하는 것입니다. eip를 조작할 수 있습니다. 하지만, 마땅한 로드된 라이브러리도 없고 코드도 없는데 어떻게 할까요? gdb 로 열어서 info proc map 실행시켜보시면 아시겠지만, 스택이 RWX 권한입니다. 이 문제는 터미널에서 실행하는 방식이므로... 고전적인 방식의 익스플로잇이 가능하겠죠. 환경변수에 잔뜩 nop + 쉘을 넣은 후에, 대략 주소를 추측하여 막 실행하기. 기초적인 문제가 됐네요.

Post Reply

Who is online

Users browsing this forum: No registered users and 18 guests