ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • pathtraversal
    개인공부/드림핵 2024. 11. 22. 22:13

    이번 문제는 경로 이동 취약점을 이용해 /api/flag 디렉터리에 존재하는 FLAG를 획득하는 문제이다.

     

    [문제 풀이]

    1. 문제 서버 접속

     

    서버 접속 시 위의 화면을 볼 수 있다. 이때 Get User Info를 눌러 유저 정보를 가져오는 화면으로 이동한다.

     

    2. 동작 확인

     

    유저 정보를 가져오는 화면의 userid 값은 이미 guest로 채워져있다. 이때 1번 View를 클릭 할 시 2번의 내용처럼 guest 유저에 대한 정보를 가져온다.

     

    동작 방식을 확인하기 위해 문제 파일을 다운로드 하여 분석한다.

     

    3. 문제 파일 분석

     

    코드 확인 시 users 딕셔너리가 정의되어 있으며 여기서 정보를 가져오는 것을 알 수 있다.

     

     

     

    이러한 딕셔너리 안의 값들은 internal_api라는 함수로 정의된 api를 이용해 동작하는 것을 확인 가능하다.

     

     

    확인된 취약점은 위 사진과 같다. 

     

    입력받은 user에 대한 정보를 가져올때 사용자의 입력값에 대한 검증 없이 그 값을 그대로 이용하여 요청을 진행한다.

     

    이럴경우 ../ 와 같은 경로 이동 구문을 이용하여 경로 이동 취약점을 야기할 수 있다.

     

    4. Exploit

     

    BurpSuite를 이용해 요청을 가로채 userid 값을 변조한다.

     

    5. FLAG 획득

     FLAG를 획득하였다.

    '개인공부 > 드림핵' 카테고리의 다른 글

    command-injection-1  (0) 2024.12.08
    file-download-1  (0) 2024.12.08
    cookie  (0) 2024.11.21
    🌱 simple-web-request  (0) 2024.11.21
    ex-reg-ex  (0) 2024.11.18
Designed by Tistory.