Burp Decoder 에서 데이터 인코딩 및 디코딩하기

Beginner
지금 연습하기

소개

Burp Suite 는 웹 애플리케이션 보안 테스트를 위한 필수적인 도구 모음입니다. 그중 가장 다재다능한 도구 중 하나는 Burp Decoder 입니다. Decoder 를 사용하면 데이터를 한 형식에서 다른 형식으로 변환할 수 있으며, 이 과정을 인코딩 및 디코딩이라고 합니다. 이는 Base64, URL 또는 HTML 과 같이 난독화되거나 특정 형식으로 전송되는 데이터를 다룰 때 매우 중요합니다.

이 랩에서는 Burp Decoder 를 직접 사용해 볼 것입니다. 인코딩된 데이터를 가져와 원래 형태로 디코딩하고, 수정하고, 다시 인코딩하는 방법을 배우게 됩니다. 이 기본적인 기술은 보안 전문가들이 웹 애플리케이션 내에서 데이터를 분석하고 조작하는 데 매일 사용됩니다.

Base64 인코딩된 문자열을 클립보드로 복사하기

이 단계에서는 샘플 Base64 인코딩된 문자열을 복사하는 것부터 시작합니다. 프로젝트 디렉토리에 이 문자열이 포함된 파일을 준비했습니다.

먼저 데스크톱의 애플리케이션 메뉴에서 터미널 (Terminal) 을 엽니다.

다음으로 cat 명령을 사용하여 파일 base64_string.txt의 내용을 표시합니다.

cat ~/project/base64_string.txt

다음과 같은 출력이 표시됩니다.

TGFiRXggcm9ja3Mh

이제 마우스를 사용하여 문자열 TGFiRXggcm9ja3Mh을 강조 표시하고 클립보드로 복사합니다 (일반적으로 마우스 오른쪽 버튼을 클릭하고 '복사'를 선택하거나 Ctrl+Shift+C 단축키를 사용합니다).

복사한 문자열을 Burp Decoder 창에 붙여넣기

이 단계에서는 Burp Suite 를 실행하고 복사한 문자열을 Decoder 도구에 붙여넣습니다.

먼저 Burp Suite 를 찾아 실행합니다. 일반적으로 애플리케이션 메뉴에서 'Web' 또는 'Security'와 같은 카테고리 아래에서 찾을 수 있습니다.

Burp Suite 가 시작되면 스플래시 화면이 나타납니다. 'Temporary project'를 선택한 다음 'Next'를 클릭합니다. 다음 화면에서 'Use Burp defaults'를 선택하고 'Start Burp'를 클릭합니다.

메인 Burp Suite 창이 열리면 Decoder 탭으로 이동합니다. 'Proxy', 'Intruder' 등과 같은 최상위 탭 중에서 찾을 수 있습니다.

Decoder 인터페이스에는 상단에 큰 텍스트 창이 있습니다. 이 창 안을 클릭하고 이전 단계에서 복사한 Base64 문자열을 붙여넣습니다 (Ctrl+V 또는 마우스 오른쪽 버튼 클릭 후 'Paste' 사용). 이제 창은 다음과 같이 상단 섹션에 붙여넣은 텍스트가 표시됩니다.

'Decode as...' 드롭다운을 사용하고 'Base64' 선택하기

이제 Decoder 에 인코딩된 데이터가 있으므로 다음 단계는 이를 디코딩하는 것입니다. Burp Decoder 는 많은 일반적인 인코딩 및 해싱 형식을 지원합니다.

창의 오른쪽에서 버튼 세트를 볼 수 있습니다. 'Decode as...' 드롭다운 메뉴를 클릭합니다.

디코딩 옵션 목록이 나타납니다. 이 목록에서 **'Base64'**를 선택합니다.

즉시 디코딩된 텍스트가 아래 출력 창에 나타납니다. 원본의 사람이 읽을 수 있는 문자열이 표시되어야 합니다.

LabEx rocks!

이는 기본적인 디코딩 기능을 보여줍니다. Base64 문자열을 성공적으로 원래 텍스트 형식으로 변환했습니다.

디코딩된 텍스트 수정하기

이 단계에서는 Burp Decoder 내에서 직접 디코딩된 텍스트를 수정합니다. 이는 데이터를 다시 인코딩하기 전에 실시간으로 조작할 수 있게 해주는 강력한 기능입니다.

'LabEx rocks!'가 표시되는 출력 창은 편집 가능한 필드입니다. 이 창 안을 클릭하고 텍스트를 변경합니다. 이 실습에서는 다음과 같이 변경해 보겠습니다.

Burp is cool!

입력하는 동안 상단 창 (원본 데이터) 의 표현이 실시간으로 변경되는 것을 알 수 있습니다. 이는 수정 사항의 실시간 효과를 보여줍니다.

'Encode as...' 드롭다운을 사용하여 텍스트 다시 인코딩하기

마지막으로, 수정된 텍스트를 Base64 형식으로 다시 인코딩합니다. 이것으로 데이터 디코딩, 수정 및 인코딩의 전체 과정을 완료합니다.

수정된 텍스트 Burp is cool!이 여전히 출력 창에 있는 상태에서 오른쪽 버튼을 다시 확인합니다. 이번에는 'Encode as...' 드롭다운 메뉴를 클릭합니다.

인코딩 옵션 목록에서 **'Base64'**를 선택합니다.

이제 상단 창의 텍스트가 수정된 문자열의 새로운 Base64 표현으로 업데이트됩니다. 다음과 같아야 합니다.

QnVycCBpcyBjb29sIQ==

이제 원본 문자열을 가져와 디코딩하고, 내용을 변경하고, Base64 로 다시 인코딩하는 데 성공했습니다. 이는 권한 우회 또는 매개변수 변조와 같은 취약점을 테스트할 때 일반적인 워크플로우입니다.

요약

축하합니다! Burp Decoder 사용에 관한 이 실습을 성공적으로 완료했습니다.

이 실습에서는 다음을 배웠습니다.

  • Burp Decoder 에 데이터 붙여넣기
  • Base64 데이터를 일반 텍스트로 디코딩하기
  • 디코딩된 일반 텍스트 데이터를 인터페이스에서 직접 수정하기
  • 수정된 데이터를 Base64 형식으로 다시 인코딩하기

이것은 클라이언트와 서버 간에 교환되는 데이터를 신속하게 분석하고 조작할 수 있게 해주므로 모든 웹 보안 테스터에게 기본적인 기술입니다. Decoder 를 숙달하면 모의 침투 테스트 중 워크플로우가 크게 빨라질 것입니다.