웹 해킹/portswigger
버프스위트를 이용한 웹 해킹, API 테스트: API 검토, Application Programming Interface Reconnaissance
코드라니(CODERANY)
2026. 8. 6. 21:54
Application Programming Interface Reconnaissance
API : Application Programming Interface: 서버와 앱이 서로 데이터를 주고받는 창구
Recon : Reconnaissance: 정찰, 탐색
API 테스트를 시작하려면 먼저 대상 API의 취약점 노출부위(Attack Surface)를 파악하기 위해, 가능한 한 해당 API에 대한 정보를 최대한 많이 수집해야 합니다.
우선 API 엔드포인트(endpoint)를 파악해야 합니다. 엔드포인트란 API가 서버에 존재하는 특정 리소스에 대한 요청을 수신하는 위치를 말합니다.
예를 들어, 다음을 고려해 봅시다.
GET 요청
GET /api/books HTTP/1.1
Host: example.com
해당 요청을 처리하는 API 엔드포인트는 /api/books 입니다. 결과적으로 이는 도서관의 책 목록을 조회하기 위해 API와 데이터를 주고받는 작업으로 이어집니다. API 엔드포인트의 다른 예시로 /api/books/mystery 를 들 수 있습니다, 이 엔드포인트는 책 목록 안의 미스터리 도서 목록을 조회하는 역할을 합니다.
엔드포인트를 모두 파악하셨다면, 이제 해당 엔드포인트들과 어떤 방식으로 데이터를 주고받아야 할지 파악해야 합니다. 이를 통해 여러분은 API를 테스트할 수 있는 유효한 HTTP 요청을 올바르게 구성할 수 있게 됩니다.
예를 들어, 여러분은 다음과 같은 항목들에 대한 정보를 파악해 두어야 합니다.
- API가 처리하는 입력 데이터 (필수 및 선택 매개변수 포함)
- API가 허용하는 요청 유형 (지원되는 HTTP 메서드 및 미디어 형식 포함)
- 요청 수 제한(Rate limit) 및 인증 메커니즘