버프 스위트란?
- 웹 애플리케이션 보안 테스팅 도구로서, 보안 전문가 및 개발자들이 웹 애플리케이션의 취약점을 검사하고 평가하는 데 사용되며 다양한 기능과 도구를 제공하여 웹 애플리케이션 보안 테스트 및 분석을 수행함.
설치는 아래 게시물을 참고하여 설치했다.
버프 스위트(Burp Suite) - 1. 기본 설치 및 사용 방법 (tistory.com)
버프 스위트(Burp Suite) - 1. 기본 설치 및 사용 방법
0. 버프 스위트 (Burp Suite) 란 대표적인 웹 애플리케이션 보안 테스트 도구로 스캐닝을 포함하여 다양한 유형의 보안 테스트 수행이 가능합니다. 주요 기능 중 하나는 웹 브라우저와 대상 애플리
seo-security.tistory.com
버프 스위트 다운로드
Download Burp Suite Community Edition - PortSwigger
Download Burp Suite Community Edition - PortSwigger
Burp Suite Community Edition is PortSwigger's essential manual toolkit for learning about web security testing. Free download.
portswigger.net
1. 프록시 서버 설정
chrome으로 들어간 뒤 설정 -> 시스템 -> 컴퓨터 프록시 설정 열기 클릭
프록시 서버 사용을 킨다.
버프 스위트를 실행한 후 proxy settings에 들어간 뒤 Burp Suite 프록시를 사용하도록 설정한다. 이렇게 함으로써 Burp Suite가 웹 요청과 응답을 가로채고 조작이 가능하다.
2. HTTPS Proxy 세팅
프록시 기본 설정 후 인터넷 브라우저에서 http://burp/ 입력
접속된 페이지에서 CA Certificate 선택 후 인증서 다운로드
보안 -> 인증서 관리
아까 받았던 파일을 지정한다.
인증서 저장소를 신뢰할 수 있는 루트 인증 기관으로 설정하고 마친다.
그 후 https:// 사이트로 들어가보자.
프록시 서버를 켰을 때 또한 정상적으로 실행 되는 것을 확인할 수 있다. 이와 같은 이유는 HTTPS를 사용하는 서버에서 유효하지 않은 인증서라고 응답을 거부하기 때문이며 이를 허용시키기 위해 인증서를 가져와 설정한다.
다시 proxy settings에 들어가서 Tools > Proxy > Request interception rules 메뉴와 Response interception rules 메뉴에서 intercept requests based on the following rules 선택한다. -> response와 requests 둘다 받게 설정한다.
그 후 intercept on을 키게 되면 정상적으로 intercept가 된 것을 확인할 수 있다.
아래는 드림핵 xss-1 문제를 burpsuite를 통해서 활용해봤으며 flag값이 burpsuite에 뜨는 것을 확인할 수 있다.
Burpsuite 기능
1. intruder
반복적인 요청을 자동화하고, 다양한 입력 값을 조작하여 애플리케이션의 취약점을 발견하고 테스트 하는 기능이다.
크게 3가지의 기능으로 이루어져 있다.
- Positions
요청의 변조 대상이 되는 부분인 포지션을 설정. 포지션은 페이로드가 삽입될 위치를 나타냅니다. URL 매개변수, 헤더, 본문 데이터 등을 선택적으로 지정할 수 있다.
- Payloads
페이로드 생성 및 구성을 수행. 페이로드는 자동으로 요청에 삽입되는 값으로, 여러 유형의 페이로드(숫자, 문자열, 랜덤 값 등)을 생성하고 조합할 수 있다.
- Attack type
사용할 공격 유형을 선택. Burp Suite Intruder는 브루트 포스, 디렉터리 탐색, 인젝션 등 다양한 공격 유형을 지원하며 각 유형에 따라 추가적인 설정을 수행할 수도 있다.
Intruder 실습
로그인 문제이다. admin으로 로그인을 하는 것이 목적이며 admin을 입력하고 pw은 무작위 값을 입력한다.
로그인을 할 때를 intercept해서 받은 intercept를 intruder에 보낸다. 자동으로 target의 값이 정해지게 된다. 이 때 pw의 값은 고정이고 pw의 값만 알면 되므로 pw의 위치만 지정한다.
비밀번호의 범위가 0~9999까지이므로 1번씩 무작위로 대입하는 bruteforce attack을 통해 이를 해결한다. payload 탭에서 범위를 설정하고 1씩 늘려가는 형식으로 반복해서 pw의 값을 찾아낸다. 다만 무료 버전이기 때문에 몇몇 기능은 사용 불가능하고, 속도가 느리다고 하여 과정은 생략하겠다.
'WEB 정리' 카테고리의 다른 글
Command Injection & SSRF (0) | 2023.05.30 |
---|---|
OWASP ZAP & Web Crawring(Web Scrapping) (0) | 2023.05.25 |
XSS 실습 (0) | 2023.05.24 |
File download & upload vunerablity 정리 (0) | 2023.05.24 |
XSS & CSRF 정리 (0) | 2023.05.24 |