본문 바로가기

DEV/JAVA

Repeater 취약점 대응

반응형

개요

웹개발 중 취약점을 발견하여 조치를 요청 받았다.
페이지 이동 시 설정된 값들을 재전송이 가능하면 발생하는 취약점으로 리피터로 변수값을 수정하여 요청이 가능한 상태

- 취약점 내용
(자동화 공격)정해진 프로세스에 자동화된 공격을 수행함으로써 수많은 프로세스가 진행되는 취약점
- 점검방법
등록 또는 발송 버튼을 클릭 했을 때 생성되는 요청(Request) 값을 리피터(Repeater)로 재전송하여 데이터를 등록현황을 확인한다.
- 조치방법
데이터 등록 및 메일 발송의 기능에서 사용자의 등록이 일회성이 될 수 있도록, 이미지를 이요앟여 확인 값을 표시하고 사용자가 값을 등록하여 인증하는 등의 확인 로직을 구현하여야 한다.

리피터 설치

개발환경에서도 동일한 취약점이 생성이 되는지 확인하기 위해 리피터를 다운로드
아래 사이트로 가서 설치 파일을 다운로드한다
https://portswigger.net/burp/communitydownload

 

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


위 사이트로 접속 후 설치 프로그램을 다운로드 한다.


리피터 실행

웹 취약점 테스트를 점검하기 위해 리피터를 실행

프로그램 시작 후 Temporary project in memory 체크 후 next

프로그램 시작, 무료 버전은 결과를 저장할수 없다.


처음 실행이거나 별도의 설정파일을 저장하지 않았으면 기본값인 Use Burp defaults 를 선택 후 Start Burp를 클릭

설정 파일 로드 여부


Burp Suite 실행화면


Target > Site map 으로 이동 후 Open browser 를 클릭

Chromium 기반의 웹브라우저가 열림


티스토리 https://www.tistory.com 주소 를 입력해 보았다

접속한 URL이 추적되어 이동된 URL 정보가 표시된다.

취약점 테스트할 URL을 선택 후 Send to Repeater 를 선택한다.


Repeater 탭으로 이동하면 선택한 URL의 request, response정보가 보이며
Requset 정보를 수정이 가능하다. 수정 후 Send버튼을 누르면 해당 값으로 Request를 전송된다.

전송결과


위와 같이 정상 응답값 200을 반환받았다.
위 URL은 단순 조회기능을 리피터로 다시 보내봤으며, 등록, 수정, 삭제 기능을 하는 로직에서 값을 변경하여 리피터로
취약점을 확인하여 조치를 취하자.

반응형
댓글