
OpenAPI 문서를 파싱하여 Burp Suite에 통합, OpenAPI 기반 API 보안 평가를 자동화합니다 (PortSwigger가 공식 BApp 스토어 포함을 승인함).
[!UPDATE] 이 확장 기능은 최신 Burp Montoya Java API를 사용하도록 업데이트되었습니다. 확장 기능은
UI/UX및 성능을 개선하기 위해 완전히 재설계되었습니다. 이러한 변경으로 확장 기능이 현대적이고 사용에 최적화되었습니다.
OpenAPI 기반 API 테스트를 위해 설계된 Burp Suite 확장 기능입니다
OpenAPI사양(OAS)은RESTAPI에 대한 표준적이고 프로그래밍 언어에 구애받지 않는 인터페이스 설명을 정의합니다. 이를 통해 사람과 컴퓨터 모두 소스 코드, 추가 문서, 네트워크 트래픽 검사에 접근하지 않고도 서비스의 기능을 발견하고 이해할 수 있습니다.OpenAPI를 통해 적절히 정의되면 소비자는 최소한의 구현 로직으로 원격 서비스와 상호 작용할 수 있습니다. 인터페이스 설명이 하위 수준 프로그래밍에 기여한 것과 유사하게,OpenAPI사양은 서비스 호출 시 추측을 없애줍니다.기계가 읽을 수 있는
API정의 문서의 사용 사례에는 대화형 문서, 문서·클라이언트·서버용 코드 생성, 테스트 케이스 자동화가 포함되지만 이에 국한되지 않습니다.OpenAPI문서는API의 서비스를 설명하며YAML또는JSON형식으로 표현됩니다. 이러한 문서는 정적으로 생성되어 제공되거나 애플리케이션에서 동적으로 생성될 수 있습니다.
OpenAPI 기반 API의 보안 평가를 수행하는 것은 Burp Suite(업계 표준)에 기본 OpenAPI 파싱 기능이 없기 때문에 번거로운 작업이 될 수 있습니다. 이 상황에 대한 해결책은 타사 도구(예: SOAP-UI)를 사용하거나 사용자 정의 스크립트(종종 계약별로)를 구현하여 OpenAPI 문서의 파싱을 처리하고 결과를 Burp Suite에 통합/연결하여 최고 수준의 스캐닝 기능을 사용하는 것입니다.
openapi-parser는 보안 전문가가 OpenAPI 기반 API의 보안 평가를 위해 Burp Suite를 독립형 도구로 사용할 수 있도록 하여 전체 프로세스를 간소화하는 것을 목표로 하는 OpenAPI 파서입니다.
OpenAPI 문서는 제공된 파일 또는 URL에서 파싱할 수 있습니다. 확장 기능은 Target -> Site map 컨텍스트 메뉴의 Send to Swagger Parser 기능을 사용하여 URL에서 OpenAPI 문서를 직접 가져올 수 있습니다.Swagger specification으로 알려진 OpenAPI 문서를 파싱하며, OpenAPI 2.0/3.0 사양(OAS)을 완전히 준수합니다.Comparer, Intruder, Organizer, Repeater, Scanner, Site map 및 Burp 도구로 보낼 수 있습니다.운영 체제: Linux, macOS 및 Windows 운영 체제와 호환됩니다.
Java Development Kit (JDK): 버전 11 이상.
Burp Suite Professional 또는 Community Edition: 버전 2023.11.1.3 이상.
[!IMPORTANT]
2023.3.2보다 낮은 버전을 사용하면 java.lang.NoSuchMethodError가 발생할 수 있습니다. 이 문제를 피하려면 지정된 버전 이상을 사용하는 것이 중요합니다.
버전 8.5 이상 (권장). build.gradle 파일이 프로젝트 저장소에 제공됩니다.JAVA_HOME 환경 변수를 JDK 설치 디렉터리로 설정합니다.프로젝트를 빌드하고 실행하기 전에 호환되는 Burp Suite 버전을 포함한 모든 시스템 요구 사항이 충족되었는지 확인하십시오. 프로젝트의 외부 종속성은 빌드 프로세스 중에 Gradle에서 자동으로 관리 및 설치됩니다. 요구 사항을 준수하면 잠재적인 문제를 방지하고 프로젝트 저장소에 새 이슈를 열어야 할 필요성을 줄일 수 있습니다.
Gradle이 설치 및 구성되어 있는지 확인합니다.
openapi-parser 저장소를 다운로드합니다:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
독립 실행형 jar를 빌드합니다:
./gradlew fatJar
Burp Suite에 확장 기능 로드Burp Suite에 openapi-parser를 설치하려면 먼저 Extensions 탭으로 이동하여 Add 버튼을 클릭합니다. 그런 다음 .\build\libs 폴더에 있는 openapi-parser-all jar 파일을 선택하여 확장 기능을 로드합니다.
또는 컴파일 단계를 완전히 건너뛰고 BApp Store에서 직접 확장 기능을 다운로드할 수 있습니다.
참고: BApp Store에 배포된 버전은 이 저장소에서 제공되는 버전보다 늦을 수 있습니다.
OpenAPI 스키마의 심층 파싱을 통해 예제/유형과 함께 모든 중첩된 매개변수 수집.RequestWithMetadata 대신 MyHttpRequest 사용.GUI에서 직접 API 호출을 변경할 수 있도록 셀 편집 활성화.API 키를 통해).Param 열에 매개변수 유형(예: , ) 추가하여 개선.추가 미해결 작업은 TODO를 참조하십시오.
2016년 7월, PortSwigger 지원 포럼에 개선 요청을 게시한 후, 직접 솔루션을 구현하기로 결정했습니다.
확장 기능은 아직 개발 중이며, 피드백, 의견 및 기여는 매우 감사합니다.
이 확장 기능이 보안 평가 중에 시간과 수고를 절약해 주었다면, 개발자에게 커피 한 잔 ☕을 후원하여 사랑을 표현해 보세요. 결국 그것이 개발에 동력을 제공합니다. 페이지 상단의 Sponsor 버튼을 클릭하거나 여기를 클릭하여 기여하고 카페인 흐름을 유지하세요. 💸
버그를 찾았나요? 그냥 기어다니게 두지 마세요! 버그 속삭이는 사람처럼 함께 해결합시다! 🐛💪
이슈는 GitHub 이슈 트래커에 보고해 주세요. 함께라면 이 확장 기능을 핵전쟁에서 살아남는 바퀴벌레처럼 신뢰할 수 있게 만들겠습니다! 🚀
당신의 미친 코딩 실력으로 한 방 터뜨리고 싶으신가요? 💻
훌륭합니다! 기여는 환영하며 크게 감사드립니다. 모든 PR은 GitHub 풀 리퀘스트 트래커에 제출해 주세요. 함께라면 이 확장 기능을 더욱 놀랍게 만들 수 있습니다! 🚀
LICENSE를 참조하십시오.
ScopeOpenAPI Parser)' 탭에서 볼 수 있습니다.API 호출을 강조 표시하거나 보고 목적으로 색상 코드를 지정할 수 있습니다.API 요청을 CSV 형식으로 쉽게 내보내 추가 분석 또는 보고를 할 수 있는 CSV 내보내기 기능이 포함되어 있습니다.JSON 및 YAML 형식을 모두 지원합니다.inqueryinbody