16

    [LOB] Level16: assassin → zombie_assassin

    [LOB] Level16: assassin → zombie_assassin

    zombie_assassin Keyword : RTL /* The Lord of the BOF : The Fellowship of the BOF - zombie_assassin - FEBP */ #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(argv[1][47] == '\x40') { printf("library retbayed you, too!!\n"); exit(0); } // strncpy instead of ..

    webhacking.kr Level 16 문제풀이

    webhacking.kr Level 16 문제풀이

    Level 16 키보드 를 누르면 '*' 문자가 생기고 마우스를 갖다 대면 지워진다... 뭥미...? 😕 Challenge 16 * mv 함수를 자세히 보니 cd의 값을 비교하며 작업을 수행하는데 마지막 부분에 cd가 124이면 특정 사이트로 이동 되는것 같다. cd값을 어떻게 변경해야 할까? python으로 확인해보니 ascii값 124는 '|'(파이프) 였다. 크롬 개발자모드의 콘솔에서 mv함수를 강제로 불러와 인자값으로 124를 넘겨줘도 풀릴것 같다. flag : webhacking.kr

    [해커스쿨] FTZ level16 풀이과정

    [해커스쿨] FTZ level16 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level15 풀이과정 힌트 볼깝숑~ㅋㅋㅋㅋㅋshell()함수가 정의되고, printit()함수가 정의되고, main함수에서 printit()함수가 불러지는 것을 확인 할 수 있다.딱 보니 감이 오지 않는가? shell()함수는 정의해놓고 안불러오는것을 보니, printit()함수를 불러오는 버퍼에 shell()함수의 주소를 대체해서 넣으면, printit()함수가 아닌 shell()함수를 불러오게 되면서 해결될 것 같지 않은가? 음하하하하하하하하하하하하하하~ㅋㅋㅋ; [ebp-16]에 "0x8048419"주소를 넣는다. 그리고 부분에보면 [ebp-16]의 값을 eax에 넣고, eax의 값으로 call을 한다. 이부분이 분명 prin..