system hacking

ftz

[ftz] level20

문제분석코드 분석1. bleh[80] 선언2. 최고관리자 권한으로 변경 후, fgets()로 사용자에게 입력값을 받고 79바이트 만큼 bleh[80]에 저장3. bleh[]을 출력 분석한 내용을 보면 fgets()로 입력 시 bleh[]에 79바이트 만큼만 저장하도록 지정되어있다. bleh[80]는 80바이트이고 79바이트만 저장할 수 있도록 되어있기 때문에, 이전 문제들 처럼 BOF를 하는 것은 불가능하다. 그렇다면 어떻게 상위 계정의 셸을 얻어낼 수 있을까? 이번 문제에서는 BOF와는 다른 취약점이 존재한다. 코드를 다시 한번 봐보자. printf()를 사용하는 방식이 좀 이상하다는 것을 알 수 있다. 보통 printf() 사용시에는 printf("%d",num); 처럼 기본적으로 포맷스트링을 인자로..

ftz

[ftz] level11

문제분석#include #include int main( int argc, char *argv[] ){ char str[256]; setreuid( 3092, 3092 ); strcpy( str, argv[1] ); printf( str );}○ 코드 분석1) str[256] 선언2) setreuid()를 통해 level12의 권한으로 설정3) argv[1]을 받고 str[256]에 복사4) str[256] 출력 level12 권한으로 설정 후 argv[1]을 str[256]에 복사하고 있다. 복사하는 과정에서 argv[1]에 대한 검증이 없다. 따라서 argv[1]을 이용해서 버퍼 오버플로우 공격을 수행할 수 있다. 디렉토리의 파일들을 확인해보면 attackme라는 level12의 setuid ..

keyme
'system hacking' 태그의 글 목록 (6 Page)