반응형
문제분석 & 풀이
페이지에 접속하면 "upload/~/flag.php" 라는 파일이 존재하고 해당 파일을 읽는 것이 목표라고한다.
하이퍼링크로 지정된 해당 경로로 접속하면 아무 화면도 뜨지않는다. 아마도 php 코드로 작성된 flag를 읽는 것이 목표인듯 하다.
그렇다면 어떻게 해당 코드를 읽을 수 있을까?
마침 flag.php와 파일을 업로드 하는 경우 저장되는 경로가 upload/~ 라는 경로로 똑같은 경로임으로 .htaccess 파일을 업로드하는 것이 가능하다면 디렉토리에 대한 설정을 변경하여 flag.php 파일을 읽을 수 있을 것이다. 즉, apache 서버의 보안 설정이 미흡하다면 .htaccess 파일을 직접 업로드하여 upload/~ 디렉토리에 대한 설정을 바꿀 수 있다.
○ .htaccess
htaccess는 hypertext access의 약자로, Apache웹 서버의 디렉토리를 설정하는 기본 파일이다. 특정 디렉토리에 위치하면 해당 디렉토리 및 모든 하위 디렉토리에 설정에 대한 영향을 행사한다.
".htaccess" 파일은 디렉토리에 존재하는 파일에 대해 영향을 행사함으로 ".htaccess" 파일을 직접 만들어서 위와 같이 php_flag engine을 off 해주면 flag.php 파일 경로에 접속해도 코드가 실행되지 않고 소스코드가 그대로 노출될 것이다.
위와 같이 .htaccess 파일을 업로드하고 flag.php 링크를 클릭하여 접속했다.
클리어!
반응형