
WebSocket 메시지를 사용자 정의 Python 코드로 퍼징하기 위한 Burp Suite 확장으로, 여러 엔진, HTTP 미들웨어 라우팅, 응답 분석을 지원합니다.
사용자 정의 Python 코드를 사용하여 WebSocket 메시지를 퍼징하기 위한 확장 기능입니다.
참고: 이는 메시지 전송을 위한 새로운 WebSocket 연결을 설정합니다.
queue_websockets(base_websocket, message)websocket_connection 객체는 다음 메서드를 제공합니다:
create(base_websocket)는 Burp Suite를 사용하여 WebSocket 연결을 생성합니다.create(base_websocket, engine)은 지원되는 엔진 중 하나를 사용하여 연결을 초기화합니다: BURP, TURBO 또는 THREADED.create(base_websocket, engine, config)는 TURBO 및 THREADED 엔진을 사용하여 수동 설정으로 연결을 초기화합니다.config()는 TURBO 및 THREADED 엔진에서 사용되는 기본 구성을 생성합니다config(connectionTimeout, sendingInterval, retries, number_of_threads, hello_message, send_ping_messages, use_chunks)connectionTimeout - 연결 타임아웃 (Integer)sendingInterval - WebSocket 프레임 간 지연 시간(밀리초) (Integer)retries - 연결이 닫힐 경우 재연결 시도 횟수 (Integer)number_of_threads - THREADED 엔진에서 사용하는 스레드 수 (Integer)hello_message - 연결 시 전송되는 초기 WebSocket 메시지 (String)send_ping_messages - 엔진이 ping 메시지를 전송해야 하는지 여부 (boolean)use_chunks - 엔진이 청크 요청을 전송해야 하는지 여부 (boolean)WebSocket 연결이 설정되면, 메시지를 전송 대기열에 추가할 수 있습니다.
이 객체의 queue() 메서드를 사용하세요.
queue(String message): 메시지를 전송합니다queue(String message, String replacement): 메시지를 전송합니다. replacement는 메시지 내 모든 %s 인스턴스를 대체합니다queue(FrameType code, byte[] message): 지정된 타입 코드로 페이로드를 전송합니다:queue(FrameType code, byte[] message, Integer legth): 사용자 정의 길이와 타입 코드로 페이로드를 전송합니다.queue(FrameType code, byte[] message, String legth): Long 문자열로 정의된 사용자 정의 길이로 페이로드를 전송합니다.queueWithComment(String message, String comment): 댓글이 첨부된 메시지를 전송합니다.queueWithComment(String message, String replacement, String comment): 댓글이 첨부된 메시지를 전송하며, replacement가 메시지 내 모든 %s 인스턴스를 대체합니다.message는 화면 상단의 WebSocket 메시지 편집기의 내용을 나타냅니다. 수동으로 편집하거나 Python 스크립트 내에서 수정할 수 있습니다.
handle_outgoing_message(websocket_message)이 메서드를 사용하여 조건부로 발신 메시지를 결과 테이블에 추가합니다.
handle_incoming_message(websocket_message)이 메서드를 사용하여 조건부로 수신 메시지를 결과 테이블에 추가합니다.
websocket_message메서드:
getMessage(): 메시지를 String으로 검색합니다.getDirection(): 메시지 방향을 검색합니다 (burp.api.montoya.websocket.Direction).getLength(): 메시지 길이를 검색합니다.getDateTime(): 타임스탬프를 검색합니다 (java.time.LocalDateTime).getComment(): 메시지와 연결된 댓글을 검색합니다.setComment(String comment): 메시지에 댓글을 설정합니다.getConnection(): 연결을 검색하여 추가 메시지를 대기열에 추가할 수 있게 합니다.getHash(): 메시지 해시를 검색합니다. 동일한 해시를 가진 수신 및 발신 메시지는 요청-응답 쌍으로 표시됩니다.setHash(long id): 메시지에 사용자 정의 해시를 설정합니다.getTime(): 응답 시간을 밀리초 단위로 검색합니다.isInteresting(): 다음을 기반으로 메시지 속성이 다른 메시지와 다른지 판단합니다: