Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
generator-burp-extension — Burp Extension Generation에 대해 필요한 모든 것 | Kitploit
도구/GitHubGitHub/rsrdesarrollo/generator-burp-extension
Scripting & AutomationWeb SecurityPenetration TestingUtilities & Frameworks
GitHubrsrdesarrollo/generator-burp-extension

generator-burp-extension

Burp Extension Generation에 대해 필요한 모든 것

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
158273년 전Kitploit 검토 완료

Burp 확장 생성기 NPM version

설치

먼저, npm을 사용하여 Yeoman과 generator-burp-extension을 설치하세요. (node.js가 이미 설치되어 있다고 가정합니다.)

root@kitploit:~
npm install -g yo
npm install -g generator-burp-extension

그런 다음 새 프로젝트를 생성하세요:

root@kitploit:~
yo burp-extension

Burp 확장 기능

플러그인 프로젝트를 생성할 때, 생성기가 플러그인에 포함할 기능을 묻습니다. Burp 확장 개발에 익숙하다면 기능 이름만으로도 충분히 이해할 수 있을 것입니다. 하지만 Burp 확장이 처음이라면, 각 기능으로 무엇을 할 수 있는지 간략히 설명드리겠습니다.

확장 탭 GUI

Burp UI에 추가되는 사용자 정의 탭입니다. 일반적으로 일부 기능(예: logger++ 확장)을 추가하거나 사용자가 확장을 구성할 수 있도록 하는 데 사용됩니다.

메시지 편집기 탭 GUI

Burp의 메시지 편집기 UI(Repeter, Intruder 등)에 추가되는 사용자 정의 메시지 편집기 탭입니다. 일반적으로 요청/응답 페이로드에 사용자 정의 편집기/뷰 기능을 제공하는 데 사용됩니다. 한 예로 JSON Beutifier 확장이 있습니다.

컨텍스트 메뉴 GUI

마우스 오른쪽 버튼을 클릭하면 Burp UI의 거의 모든 곳에 사용자 정의 컨텍스트 메뉴가 추가됩니다. Burp는 다음 상황에서 컨텍스트 메뉴를 표시할 수 있습니다:

  • 인트루더 공격 결과.
  • 인트루더 페이로드 위치 편집기.
  • 요청 편집기.
  • 응답 편집기.
  • 편집 불가능한 요청 뷰어.
  • 편집 불가능한 응답 뷰어.
  • 프록시 히스토리.
  • 스캐너 결과.
  • 검색 결과 창.
  • 대상 사이트 맵 테이블.
  • 대상 사이트 맵 트리.

이 기능의 간단한 예로 copy-as-python-requests 확장이 있습니다. 요청을 파이썬 코드로 복사할 수 있습니다 (단지 예시입니다).

HTTP 리스너 / 프록시 리스너

리스너는 프록시 도구(프록시 리스너)에서 처리되거나 다른 Burp 도구(HTTP 리스너)에서 생성된 요청 및 응답에 대해 알림을 받습니다. 확장 프로그램은 이러한 메시지에 대해 사용자 정의 분석 또는 수정을 수행할 수 있습니다.

즉, 프록시 리스너는 브라우저에서 Burp로 오는 요청과 Burp에서 브라우저로 가는 응답을 가로챕니다. HTTP 리스너는 Burp에서 웹 서버로 가는 요청과 웹 서버로부터 오는 응답을 가로챕니다.

이 확장 기능을 사용하는 실제 예시 플러그인으로 AutoRepeater가 있습니다.

인트루더 페이로드 생성기

사용자 정의 생성기 기능을 추가하여 인트루더 페이로드를 확장합니다. 이 기능의 가능한 용도 중 하나는 유효한 무작위 IBAN 번호를 생성하는 것입니다. 실제 예로 Intruder file payload generator 확장이 있습니다 (사용하지는 않지만, 단지 예시입니다).

인트루더 페이로드 프로세서

사용자 정의 프로세서 기능을 추가하여 인트루더 페이로드를 확장합니다. 한 가능한 예로 정적 키를 기반으로 AES 암호화를 수행하는 것입니다.

스캐너 검사

스캔을 수행할 때, Burp는 검사에 기본 요청에 대한 능동 또는 수동 스캔을 수행하고 식별된 스캐너 문제를 보고하도록 요청합니다.

스캐너 삽입 지점 제공자

요청이 능동적으로 스캔될 때, 스캐너는 이를 호출하며, 제공자는 스캔에 사용될 사용자 정의 삽입 지점 목록을 제공해야 합니다.

세션 처리 동작

등록된 각 동작은 세션 처리 규칙 UI 내에서 사용자가 규칙 동작으로 선택할 수 있게 됩니다. 사용자는 동작을 자체적으로 직접 호출하거나 매크로 실행 후에 호출하도록 선택할 수 있습니다.

확장 상태 리스너

리스너는 확장이 Burp에서 언로드될 때 알림을 받습니다. 참고: 백그라운드 스레드를 시작하거나 시스템 리소스(파일, 데이터베이스 연결 등)를 여는 확장은 리스너를 등록하고 확장이 언로드될 때 스레드를 종료하고 리소스를 닫아야 합니다.

스캐너 리스너

리스너는 스캐너 도구에 의해 보고된 새로운 문제에 대해 알림을 받습니다. 확장은 스캐너 리스너를 등록하여 스캐너 문제에 대한 사용자 정의 분석 또는 로깅을 수행할 수 있습니다.

범위 변경 리스너

리스너는 Burp의 스위트 전체 대상 범위에 변경이 발생할 때마다 알림을 받습니다. Burp가 전역 범위 정의에 접근하는 것을 허용하지 않기 때문에 아마도 쓸모없을 것입니다.

트레이드오프

이 섹션에서는 템플릿 개발 과정에서의 몇 가지 결정 사항을 설명합니다.

왜 Java이고 Python/Ruby가 아닌가

우선, 저는 Java 팬이 아닙니다.

아시다시피, BurpSuite는 세 가지 주요 언어(Java, Python, Ruby)로 확장을 개발할 수 있게 합니다. 사실 이는 완전히 정확하지 않습니다. Burp는 Jython과 JRuby로 개발하는 것을 허용합니다. 여기서 실제 문제는 Burp 확장에서 Jython이나 JRuby를 사용할 때 여전히 Java(주 언어)로 생각해야 한다는 것입니다. 결국 Python과 Java로 개발하게 되지만, 실제 IDE와 통합하고 자동 완성 같은 현대적인 기능을 사용하는 데 많은 문제가 발생합니다.

Jython 대신 Java를 사용하는 또 다른 좋은 이유는 Jython이 Python 2.7을 기반으로 하기 때문이며, JRuby를 사용하지 않는 이유는 Ruby를 좋아하지 않기 때문입니다. 그게 다입니다.

모든 것은 싱글톤 (관사)

아시다시피, Burp 인터페이스의 모든 구현은 싱글톤 패턴을 따릅니다. 그 주된 이유는 완전히 주관적입니다.

문제는 Burp가 훌륭한 도구이지만 내부에 대해 다소 모호하고 약간 지저분할 수 있다는 것입니다. 예를 들어, Burp는 여러 IHTTPListener를 등록할 수 있지만, 이러한 리스너의 호출 순서와 같은 중요한 결정을 잃게 됩니다. 제 견해로는 이러한 상황이 Burp 확장의 이해와 코드 유지보수성을 모호하고 어렵게 만들 수 있습니다.

각 싱글톤 클래스를 Burp와의 필수적인 연결 지점으로 볼 수 있으며, 이는 고유해야 합니다. 그 연결 지점에서 코드를 제어하고 어떤 객체 지향 설계든 수행할 수 있습니다.

라이선스

MIT © Raul Sampedro

도구 다운로드