
경고: 이는 Jetpack < 13.9.1의 취약한 접근 제어(CVE-2024-9926)에 대한 익스플로잇을 테스트하기 위한 취약한 애플리케이션입니다. 실행 시 위험은 본인이 감수하십시오!
이것은 Jetpack < 13.9.1 깨진 접근 제어(CVE-2024-9926) 취약점을 테스트하기 위한 취약한 애플리케이션입니다.
이 애플리케이션에는 심각한 보안 취약점이 포함되어 있습니다. 실행 시 위험은 스스로 감수하십시오! 백업된 격리된 환경(예: 최신 스냅샷과 호스트 전용 네트워킹을 갖춘 VM)에서 실행하는 것이 좋습니다. 이 애플리케이션을 인터넷에 노출된 서버에 업로드하지 마십시오. 반드시 침해될 것입니다.
면책 조항: 저는 이 애플리케이션을 누군가가 어떤 방식으로 사용하든 책임을 지지 않습니다. 이 애플리케이션의 유일한 목적은 Jetpack < 13.9.1 깨진 접근 제어(CVE-2024-9926) 익스플로잇을 위한 테스트 시나리오를 제공하는 것이며 악의적으로 사용되어서는 안 됩니다. 이 애플리케이션을 설치하여 서버가 침해된 경우 이는 제 책임이 아니라 이 애플리케이션을 업로드하고 설치한 사람(들)의 책임입니다.
다음은 환경을 설정하는 단계입니다:
./up.sh를 실행하여 컴포지션을 시작합니다.컨테이너 이름은 vuln-wp-jetpack이 됩니다.
환경을 해체하려면 ./down.sh 명령을 사용하거나, 이미지와 데이터베이스 볼륨도 함께 제거하려면 ./down_and_delete.sh 명령을 사용하십시오.
수정 커밋을 살펴보면 get_items_permissions_check() 및 get_item_permissions_check() 메서드가 수행하는 유일한 검사가 사용자의 블로그 가입 여부라는 것을 쉽게 알 수 있습니다.
두 메서드 모두 automattic/jetpack-forms/src/contact-form/class-contact-form-endpoint.php 파일의 Contact_Form_Endpoint 클래스에 선언되어 있습니다. 클래스 시작 부분의 주석에 나와 있듯이 이 클래스는...
feedback게시 유형이\Automattic\Jetpack\Forms\ContactForm\Contact_Form에 등록될 때rest_controller_class매개변수로 사용됩니다.
이 내용은 feedback 사용자 정의 게시 유형이 등록되는 automattic/jetpack-forms/src/contact-form/class-contact-form-plugin.php 파일의 201번째 줄에서 확인할 수 있습니다.
사용 가능한 유형은 다음과 같은 요청으로 REST API를 통해 조회할 수 있습니다.
GET /?rest_route=/wp/v2/types
응답에는 feedback 유형이 포함됩니다.
취약점을 악용하려면 다음과 같은 요청이면 충분합니다.
GET /?rest_route=/wp/v2/feedback
요청에는 다음과 같은 애플리케이션 비밀번호 인증 헤더가 포함되어야 합니다.
Authorization: Basic eW91cl91c2VybmFtZTp5b3VyX2FwcGxpY2F0aW9uX3Bhc3N3b3Jk
Python으로 작성된 익스플로잇 스크립트는 여기에서 찾을 수 있습니다.
이 프로젝트는 Unlicense에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.