ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Burp Suite] API - Broken Access
    Hacking/CTF 문제 풀이 2025. 7. 7. 23:29
    728x90
    반응형

    Working through problems

    1. 기능 정상 동작 확인

    전체 API가 정상 동작하는지 확인하기 위해 다음 절차를 실행하였습니다.

    1-1. 회원가입

    POST /api/signup
    {
      "username": "guest",
      "password": "1234"
    }
    

    Response :

    Response
    {
      "message": "User created successfully"
    }
    

    1-2. 로그인

    Request
    POST /api/login
    {
      "username": "guest",
      "password": "1234"
    }
    

    Response :

    Response
    {
      "message": "Logged in successfully"
    }
    

    1-3. 노트 작성

    Request
    PUT /api/note
    {
      "note": "this is a note."
    }
    

    Response :

    Response
    {
      "message": "Note updated successfully."
    }
    

    1-4. 사용자 정보 조회

    사용자 ID를 알 수 없으나 문서에 따라 Path에 넣으라고 되어 있어 우선 임의의 ID를 넣어 테스트하였습니다.

    Request
    GET /api/user/1
    

    Response :

    Response
    {
      "note": "this is a note.",
      "userid": 2,
      "username": "guest"
    }
    

    📌 로그인 기반 인증이 적용되어 있으며, 사용자 식별은 서버 측에서 처리하고 있음을 확인하였습니다.

    2. 인가 취약점 분석

    2-1. 취약점 분석 대상 API

    GET /api/user/{user_id}
    

    2-2. 테스트 절차

    1. guest 계정으로 로그인한 상태에서 /api/user/{user_id} 형식의 API 접근
    2. Burp Suite를 통해 요청을 Intercept한 결과, 클라이언트에서 /api/uesr/1 등으로 접근해도 실제 서버로 전송되는 요청은 단순히 GET /api/user 형식임을 확인
    3. 이를 바탕으로 Repeater에서 다음과 같이 직접 요청을 조작
    4. GET /api/user/1
    5. 응답으로 admin 계정에 대한 정보가 반환되는걸을 확인
    728x90
    반응형

    'Hacking > CTF 문제 풀이' 카테고리의 다른 글

    HTTP - Directory indexing  (0) 2025.07.07
    Backup file  (0) 2025.07.07
    Weak password  (0) 2025.07.07
    [Header] HTTP - User-agent  (0) 2025.07.07
    [Open Redirect] HTTP - Open redirect  (0) 2025.07.03
Designed by Tistory.