HAR 파일 생성
HTTP Archive (HAR) 형식 파일은 HTTP 요청 및 HTTP 응답에 관한 정보를 교환하는 산업 표준입니다. HAR 파일은 브라우저가 웹 사이트와 상호작용하는 내용을 JSON 형식으로 포함하고 있습니다. .har
파일 확장자가 일반적으로 사용됩니다.
HAR 파일은 귀하의 GitLab CI/CD 파이프라인의 일환으로 웹 API Fuzz 테스트를 수행하는 데 사용할 수 있습니다.
경고: HAR 파일은 웹 클라이언트와 웹 서버 간에 교환된 정보를 저장합니다. 또한 인증 토큰, API 키 및 세션 쿠키와 같은 민감한 정보를 저장할 수도 있습니다. 저장소에 추가하기 전에 HAR 파일 내용을 검토하는 것을 권장합니다.
HAR 파일 생성
HAR 파일은 수동으로 생성하거나 웹 세션을 기록하는 전용 도구를 사용하여 생성할 수 있습니다. 전용 도구를 사용하는 것이 좋습니다. 그러나 이러한 도구로 생성된 파일이 민감한 정보를 노출하지 않고 안전하게 사용될 수 있도록 하는 것이 중요합니다.
다음 도구를 사용하여 네트워크 활동에 기반한 HAR 파일을 생성할 수 있습니다. 이러한 도구는 자동으로 네트워크 활동을 기록하고 HAR 파일을 생성합니다:
- GitLab HAR Recorder.
- Insomnia API Client.
- Fiddler debugging proxy.
- Safari 웹 브라우저.
- Chrome 웹 브라우저.
- Firefox 웹 브라우저.
경고: HAR 파일에는 인증 토큰, API 키 및 세션 쿠키와 같은 민감한 정보가 포함될 수 있습니다. 저장소에 추가하기 전에 HAR 파일 내용을 검토하는 것을 권장합니다.
GitLab HAR Recorder
GitLab HAR Recorder는 HTTP 메시지를 기록하고 이를 HTTP Archive (HAR) 파일로 저장하는 명령줄 도구입니다. GitLab HAR Recorder에 대한 자세한 내용은 홈페이지를 참조하십시오.
GitLab HAR Recorder 설치
선행 조건:
- Python 3.6 이상 설치.
- Microsoft Windows의 경우
Microsoft Visual C++ 14.0
설치해야 함. 이는 Visual Studio Downloads 페이지의 Visual Studio 빌드 도구에 포함되어 있습니다. - HAR Recorder 설치.
GitLab HAR Recorder 설치:
pip install gitlab-har-recorder --extra-index-url https://gitlab.com/api/v4/projects/22441624/packages/pypi/simple
GitLab HAR Recorder를 사용하여 HAR 파일 생성
- 프록시 포트 및 HAR 파일명으로 레코더 시작.
- 프록시를 사용하여 브라우저 작업을 완료합니다.
- 프록시가 사용되고 있는지 확인하세요!
- 레코더 중지.
HAR가 모든 요청을 포함하는지 확인하려면 온라인 HAR 뷰어를 사용하세요. 예를 들어:
Insomnia API Client
Insomnia API Client는 API 디자인 도구로 여러 용도 중 하나로 API를 디자인, 설명 및 테스트하는 데 도움을 줍니다. 또한 웹 API Fuzz 테스트에 사용할 수 있는 HAR 파일을 생성하는 데에도 사용할 수 있습니다.
Insomnia API Client를 사용하여 HAR 파일 생성
- API 정의 또는 가져오기.
- Postman v2.
- Curl.
- OpenAPI v2, v3.
- 각 API 호출이 작동하는지 확인.
- OpenAPI 사양을 가져왔다면, 작동하는 데이터를 추가하세요.
- API > Import/Export 선택.
- Export Data > Current Workspace 선택.
- HAR 파일에 포함할 요청 선택.
- Export 선택.
- Select Export Type 드롭다운에서 HAR – HTTP Archive Format 선택.
- Done 선택.
- HAR 파일의 위치 및 파일명 입력.
Fiddler 디버깅 프록시
Fiddler는 웹 디버깅 도구입니다. HTTP 및 HTTPS 네트워크 트래픽을 캡처하고 각 요청을 조사할 수 있습니다. 또한 요청 및 응답을 HAR 형식으로 내보낼 수 있습니다.
Fiddler를 사용하여 HAR 파일 생성
- Fiddler 홈페이지에서 로그인합니다. 계정이 없다면 먼저 계정을 생성하세요.
- API를 호출하는 페이지를 탐색합니다. Fiddler가 요청을 자동으로 캡처합니다.
- 하나 이상의 요청을 선택한 다음 컨텍스트 메뉴에서 Export > Selected Sessions 선택.
- Choose Format 드롭다운에서 HTTPArchive v1.2 선택.
- 파일명을 입력하고 Save 선택.
Fiddler는 내보내기가 성공했다는 팝업 메시지를 표시합니다.
Safari 웹 브라우저
Safari는 Apple이 유지보수하는 웹 브라우저입니다. 웹 개발이 진화함에 따라 브라우저는 새로운 기능을 지원합니다. Safari를 사용하면 네트워크 트래픽을 탐색하고 HAR 파일로 내보낼 수 있습니다.
Safari를 사용하여 HAR 파일 생성
선행 조건:
-
Develop
메뉴 항목 활성화.- Safari 환경설정을 엽니다. Command+,를 누르거나 메뉴에서 Safari > 환경설정을 선택하세요.
-
고급 탭을 선택한 다음
메뉴 막대에 개발 메뉴 항목 표시
를 선택하세요. - 환경설정 창을 닫습니다.
- 웹 인스펙터를 엽니다. Option+Command+i를 누르거나 메뉴에서 개발 > 웹 인스펙터 표시를 선택하세요.
- 네트워크 탭을 선택한 다음 로그 보존을 선택합니다.
- API를 호출하는 페이지를 탐색합니다.
- 웹 인스펙터를 열고 네트워크 탭을 선택합니다.
- 내보낼 요청을 마우스 오른쪽 버튼으로 클릭한 다음 HAR로 내보내기를 선택하세요.
- 파일명을 입력하고 저장을 선택하세요.
Chrome 웹 브라우저
Chrome은 구글에서 유지보수하는 웹 브라우저입니다. 웹 개발이 진화함에 따라 브라우저는 새로운 기능을 지원합니다. Chrome을 사용하면 네트워크 트래픽을 탐색하고 HAR 파일로 내보낼 수 있습니다.
Chrome에서 HAR 파일 만들기
- Chrome 컨텍스트 메뉴에서 검사를 선택합니다.
- 네트워크 탭을 선택합니다.
- 로그 유지를 선택합니다.
- API를 호출하는 페이지를 찾아봅니다.
- 하나 이상의 요청을 선택합니다.
- 마우스 오른쪽 버튼을 클릭하고 모든 내용 포함 HAR로 저장을 선택합니다.
- 파일 이름을 입력하고 저장을 선택합니다.
- 추가 요청을 추가하려면 동일한 파일에 선택하고 저장합니다.
Firefox 웹 브라우저
Firefox는 Mozilla에서 유지보수하는 웹 브라우저입니다. 웹 개발이 진화함에 따라 브라우저는 새로운 기능을 지원합니다. Firefox를 사용하면 네트워크 트래픽을 탐색하고 HAR 파일로 내보낼 수 있습니다.
Firefox에서 HAR 파일 만들기
- Firefox 컨텍스트 메뉴에서 검사를 선택합니다.
- 네트워크 탭을 선택합니다.
- API를 호출하는 페이지를 찾아봅니다.
-
네트워크 탭을 확인하고 요청이 기록되고 있는지 확인합니다. 네트워크 활동에 대한 자세한 정보를 보려면
요청 수행하거나 페이지를 다시로드하여 네트워크 활동에 대한 자세한 정보 보기
라는 메시지가 나오면, 요청을 시작하기 위해 다시로드를 선택합니다. - 하나 이상의 요청을 선택합니다.
- 마우스 오른쪽 버튼을 클릭하고 모든 내용 포함 HAR로 저장을 선택합니다.
- 파일 이름을 입력하고 저장을 선택합니다.
- 추가 요청을 추가하려면 동일한 파일에 선택하고 저장합니다.
HAR 파일 확인
HAR 파일을 사용하기 전에 민감한 정보가 노출되지 않도록 확인해야 합니다.
각 HAR 파일에 대해 다음을 수행해야 합니다:
- HAR 파일의 내용을 확인합니다.
- 민감한 정보가 포함된 HAR 파일을 검토합니다.
- 민감한 정보를 편집하거나 제거합니다.
HAR 파일 내용 확인
HAR 파일의 내용을 구조화된 방식으로 표시할 수 있는 도구에서 HAR 파일의 내용을 확인하는 것을 권장합니다. 여러 HAR 파일 뷰어가 온라인에서 사용할 수 있습니다. HAR 파일을 올리기 원하지 않는 경우, 컴퓨터에 설치된 도구를 사용할 수 있습니다. HAR 파일은 JSON 형식을 사용하므로 텍스트 편집기에서도 볼 수 있습니다.
HAR 파일을 확인하는 데 권장되는 도구는 다음과 같습니다:
- HAR Viewer - (온라인)
- Google Admin Toolbox HAR Analyzer - (온라인)
- Fiddler - 로컬
- Insomnia API Client - 로컬
HAR 파일 내용 검토
다음 중 하나라도 포함되는지 HAR 파일을 검토합니다:
- 애플리케이션에 액세스를 허용할 수 있는 정보, 예: 인증 토큰, 인증 토큰, 쿠키, API 키.
- 개인 식별 가능 정보(PII)
민감한 정보를 편집하거나 제거하는 것이 강력히 권장됩니다.
시작 목록으로 사용할 수 있는 확인 목록은 다음과 같습니다. 이것은 모든것을 담고 있는 것은 아닙니다.
- 비밀번호 확인. 예를 들어, 애플리케이션이 인증을 요구하는 경우, 일반적인 위치 또는 인증 정보를 확인하십시오:
- 인증 관련 헤더. 예: 쿠키, 인증. 이러한 헤더에 유효한 정보가 포함될 수 있습니다.
- 인증과 관련된 요청. 이러한 요청의 본문에는 사용자 자격 증명 또는 토큰과 같은 정보가 포함될 수 있습니다.
- 세션 토큰. 세션 토큰은 애플리케이션에 액세스할 수 있게 할 수 있습니다. 이러한 토큰의 위치는 다양할 수 있습니다. 헤더, 쿼리 매개 변수 또는 본문에 있을 수 있습니다.
- 개인 식별 가능 정보 확인
- 예를 들어, 애플리케이션이 사용자와 사용자의 개인 정보(전화, 이름, 이메일) 목록을 검색하는 경우
- 인증 정보에는 개인 정보가 포함될 수 있습니다.
민감한 정보 편집 또는 제거
Har 파일 내용 검토 중에 발견된 민감한 정보를 편집하거나 제거합니다. HAR 파일은 JSON 형식이므로 어떤 텍스트 편집기에서도 편집할 수 있습니다.
HAR 파일을 편집한 후, 해당 파일이 포맷과 구조가 유지되었는지 확인하기 위해 HAR 파일 뷰어에서 엽니다.
다음 예제는 Visual Studio Code 텍스트 편집기를 사용하여 헤더에서 발견된 인증 토큰을 편집하는 방법을 보여줍니다.