WarGame/Webhacking.kr

[Webhacking.kr] old-28 Answer

Old-28 Domain & Tool

  • 구분 : HTTP Access
  • 문제풀이에 사용된 도구 
    • Chrome 103.0.5060.66 

 


Old-28 Question & Answer

우선 내가 올리는 파일은 /upload/아래 개인별로 지정된 폴더에 저장된다고 한다.(이건 세션마다 다르더라) 

우리의 목표는 /upload/ 아래 개인폴더에 존재하는 flag.php를 읽는 것이다. 한가지 dummy data로 시도해보자 아래의 파일을 작성해서 넣어보았다.

## Dummy.dat

THIS Is DUMMY

파일은 잘 들어갔다. 링크가 걸렸으니 직접 들어가보자

들어간 대로 잘 나온다. 그러면 저 flag.php를 직접 들어가면 어떻게 될까???

 

아무화면도 나오지 않는다(빈 화면이다. 배경색이랑 우연찮게 똑같다.<다크모드 개꿀>) 그렴 DIRECTORY LISTING이 되는지 확인해 보자. /upload/(자기의 폴더명) 까지만 들어가보자

으흠.. Forbidden되어있다. 그런데 신기한건 저 폴더는 Forbidden되어있는데, 아래있는 flag.php는 적용이 되었다는 점이다. 다시 한번 flag.php에 들어가서 콘솔을 확인해보자

그렇다.flag.php는 확실하게 클라이언트(우리)에게 전달은 되었지만, 안쪽에 내용이 나오지 않는다. 접근이 성공했는데, 상위폴더가 Forbidden이다. 이는 http.conf에서 접근제어를 이 폴더만 .htaccess에 상속받았다는 이야기이다.  

* .htaccess라는 파일은?

 

아파치 투토리얼: .htaccess 파일 - Apache HTTP Server Version 2.4

아파치 투토리얼: .htaccess 파일 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. .htaccess 파일을 사용하여 디렉토리별로 설정을 변경할 수 있다. .htaccess 파일(

httpd.apache.org

htaccess의 문법은 주설정파일인 http.conf의 설정밥법과 동일하다. 일반적으로 보안을 위해서 upload되는 파일의 실행을 막기 위해서 php_flag engine off를 작성하게 되는데, 이 설정이 없으면 php는 올라가는대로 실행히되게된다. 즉 flag.php에 우리 파일에 걸린 접근제어도 동작한다는 거다. 만약 우리가 올리는 파일명이 .htaccess라면 이 설정을 override할 수 있을 것이다. 다음의 파일을 올리자

## .htaccess

php_flag engine off

* 이름 빼고 올려야한다. 

 

이렇게 올린 후 flag.php를 확인해보자

NICE!

'WarGame > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-27 Answer  (0) 2022.07.28
[Webhacking.kr] old-26 Answer  (0) 2022.07.28
[Webhacking.kr] old-25 Answer  (0) 2022.07.28
[Webhacking.kr] old-24 Answer  (0) 2022.07.27
[Webhacking.kr] old-23 Answer  (0) 2022.07.27