Home
System Hacking

Burp Suite를 이용한 BugBounty 꿀팁

Type
TIP
TIME
2022/01/08 21:20
분야
BugBounty
1 more property

Target

Site Map

Site MapBurp Suite를 이용해 수집한 정보를 Site Map 형태로 보여주고 필터링 및 주석을 이용하여 의미있는 정보를 추출할 수 있습니다.

Filter

Filter를 통해서 보고싶은 정보에 대해서 한정지어 확인할 수 있습니다.
Filter by Request type : Request에서 필터링
Filter by MIME type : HTML, CSS와 같은 MIME 유형을 필터링
Filter by status code : Status Code를 기준으로 필터링
Folders : 빈폴더 숨기기
Filter by file extension : 파일 확장자를 필터링
FIlter by annotation : 주석 또는 하이라이트가 있는 경우 표시 여부

Scope

Scope는 Include in scope 탭에서 현재 공격하는 대상 URL에 대해서 정의하고 추가할 수 있습니다.
또한 Exclude from scope 탭에서 범위 내 차단 목록을 설정할 수 있습니다.

Proxy

Intercept

Proxy는 Burp Suite를 이용해 정보를 확인할 수 있습니다.
Open Browser를 통해서 Burp Suite에서 지원하는 Chrome을 사용할 수 있으며, 자동으로 Proxy Setting이 되어 편리하게 사용 가능합니다.

HTTP history

Burp Suite를 통해서 주고 받은 모든 데이터를 확인할 수 있습니다.

WebSocket history

WebSocket을 통해서 주고 받은 데이터를 확인할 수 있습니다.

Option

Proxy Listeners

Proxy Server를 설정하여 정보를 받아올 수 있으며, CA Sertificate를 내보내거나 다시 생성할 수 있습니다.

Intercept Client Requests

ClientRequest 전송시 필터링 할 규칙을 지정할 수 있습니다.

Intercept Client Response

ServerReponse 전송시 필터링 할 규칙을 지정할 수 있습니다.
위와 같이 Reponse에서 admin과 같은 정보를 필터링걸어 admin이라는 문자열이 Reponse Body에 포함되어있을때 Intercept가 걸리게 됩니다.

Intercept WebSockets Messages

WebSocket으로 송수신 하는 데이터의 Intercept 여부를 설정할 수 있습니다.

Response Modification

HTML을 편하게 수정할 수 있는 옵션들을 제공합니다.
예를들어 Javascript를 삭제하거나 입력 필드 길이 제한을 제거하거나 할 수 있습니다.

Match and Replace

정규식 패턴혹은 리터럴 문자열 이용하여 문자열을 변경할 수 있습니다.

TLS Pass Through

TLS 연결을 직접 통과할 웹 서버를 지정할 때 사용합니다.

Miscellaneous

기타 부수적인 기능들을 사용할 수 있습니다.

Intruder

Intruder는 웹에 대한 자동화 공격을 수행하기 위한 탭입니다.

Target

공격할 대상의 IP 혹은 Domain과 Port를 지정하는 탭입니다.

Positions

Positions는 공격할 벡터를 선정하고 공격 방식을 선택할 수 있습니다.

Sniper

Payload Set를 이용하여 Payload를 순차적으로 넣어 공격을 시도합니다.

Battering ram

Payload Set를 이용하여 모든 Attack Vetor에 한번에 넣어 공격을 시도합니다.

Pitchfork

여러개의 Payload Set을 이용하여 각 Attack Vetor다른 Payload를 넣어 공격을 시도합니다.

Cluster bomb

여러개의 Payload Set을 이용하여 각 Attack Vetor다른 Payload Set를 차례로 반복하면서 Payload모든 조합을 시도합니다.

Payloads

자세한 정보는 아래의 사이트에서 확인할 수 있습니다.

Payload Sets

Payload Options

Simple list
단순한 Payload 문자열을 구성하여 공격을 시도할 수 있습니다.
Runtime file
문자열 파일을 설정하여 공격을 시도할 수 있습니다.
Custom iterator
모든 Payload Set에 대한 순열을 생성하여 공격을 시도할 수 있습니다.
Character substitution
문자열을 치환하여 공격을 시도할 수 있습니다.
Case modification
문자열 목록을 구성하고 대소문자를 변환하여 공격할 수 있습니다.
Recursive grep
이전 요청에 대한 응답에서 Payload를 추출하여 공격할 수 있습니다.
Illegal Unicode
문자열의 잘못된 유니코드 표현을 생성하여 공격할 수 있습니다.
예를 들어 ../..\등의 공격을 하는데 효과적입니다.
Character Block
지정된 문자 또는 문자열의 블록을 기반으로 Payload를 생성하여 공격할 수 있습니다.
Numbers
지정된 범위 내에서 지정된 형식으로 숫자 Payload를 생성하여 공격할 수 있습니다.
Dates
날짜 형식으로 Payload를 생성하여 공격할 수 있습니다.
Brute forcer
지정된 문자열을 통해 Payload를 생성하여 공격할 수 있습니다.
Null Payloads
값이 빈 문자열인 Payload를 생성하여 공격할 수 있습니다.
Character frobber
문자열 입력에서 문자 위치의 값을 차례로 수정하면서 Payload를 생성하여 공격할 수 있습니다.
Bit flipper
입력된 Bit를 수정하면서 Payload를 생성하여 공격할 수 있습니다.
Username generator
이름 또는 이메일 주소 목록을 Payload로 생성하여 공격할 수 있습니다.
ECB block shuffler
ECB로 암호화된 데이터의 암호문 블록을 섞는데 사용하여 Payload를 생성하여 공격할 수 있습니다.
Extension-generated
버프 스위트 Extension을 호출하여 Payload를 생성하여 공격할 수 있습니다.
Copy other payload
다른 Payload위치에서 현재 Payload 값을 복사해 공격할 수 있습니다.

Payload Processing

Payload가 사용되기 전에 다양한 처리 작업을 수행하고 규칙을 정의합니다.
Add perfix
Payload 앞에 리터럴 접두사를 추가합니다.
Add suffix
Payload 뒤에 리터럴 접두사를 추가합니다.
Match / replace
Payload에서 정규식과 일치하는 문자열을 리터럴 문자열로 변환합니다.
Substring
Payload에서 지정된 offset까지 출력합니다.
Reverse substring
Substring과 같은 기능을 제공하지만,Payload offset까지 역순으로 출력합니다.
Modify case
Payload에서 지정된 대소문자를 수정합니다.
Encode
URL, HTML, Base64, ASCII 16진수와 같은 다양한 체계를 사용하여 Payload를 인코딩합니다.
Decode
URL, HTML, Base64, ASCII 16진수와 같은 다양한 체계를 사용하여 Payload를 디코딩합니다.
Hash
Payload에서 Hash 작업을 수행합니다.
Add raw payload
Payload 이전과 이후 사전처리 되지 않은 값을 추가합니다.
Skip if matches regex
정규식과 일치하는 경우 건너뛰고 다음 Payload를 전송합니다.
Invoke Burp extension
Payload 처리를 위해서 Burp extension을 호출합니다.

Payload Encoding

HTTP 요청시 Payload내의 어떤 문자를 URL로 인코딩하는지 정의하는 부분입니다.

Resource Pool

Professional 전용 기능
Resource Pool은 동시에 수행할 수 있는 요청 수를 정의할 수 있습니다.

Options

Request headers

Request Header를 업데이트할지 여부를 선택합니다.

Error Handling

네트워크 오류를 처리하는 방법을 선택합니다.

Attack results

Attack result에 저장되는 정보를 선택합니다.

Grep - Match

지정된 표현식이 포함된 Response를 지정할 수 있습니다.

Grep - Extract

Response에서 Attack result로 유용한 정보를 추출할 수 있습니다.

Grep - Payloads

Payload를 포함하는 Reponse를 추출합니다.
XSS 공격을 Payload Set을 이용하여 탐지하는데 매우 효과적입니다.

Redirections

Burp가 Redirections을 처리하는 방식에 대해서 제어를 합니다.

Repeater

아래의 사진과 같이 HTTP history에서 마우스 오른쪽 클릭을 통해서 Send to Repeater로 전송하면
아래와 같이 Request를 다시 전송할 수 있습니다.
간단한 공격을 테스트하는데 매우 유용합니다.

Sequencer

Sequencer는 Session 또는 토큰의 중요한 데이터 항목을 테스트할 수 있습니다.

Live capture

Select Live Capture Request

HTTP history와 같은 캡처 혹은 캡처된 Request에 마우스 오른쪽을 눌러 Send to Sequencer로 전송할 수 있습니다.

Token Location Within Response

Token을 선택하거나 위치를 지정할 수 있습니다.

Live Capture Options

HTTP Request및 수집 토큰에 사용되는 Engine Option을 선택할 수 있습니다.

Manual Load

Manual Load는 획득한 Token SampleSequencer에 로드한 뒤 Sample에 대한 통계 분석을 진행합니다.

Analysis options

Token Handling

분석중 Token이 처리되는 방식을 설정합니다.

Token Analysis

Token을 분석하는데 사용되는 Options을 선택할 수 있습니다.

Decoder

다양한 기능의 Encoding, Decoding을 지원합니다.

Comparer

Comparer는 두 데이터간 차이를 보여주는 도구입니다.
HTTP history와 같은 캡처 혹은 캡처된 Request에 마우스 오른쪽을 눌러 Send to SComparer로 전송할 수 있습니다.
전송된 데이터를 Words 혹은 Bytes로 분석을 진행할 수 있습니다.

Logger

Burp Proxy를 이용하여 수집한 데이터를 기록하고 분석을 하는 메뉴입니다.
Paramter 개수 Length, Status Code등의 정보를 확인할 수 있습니다.