
Magento 2 비인증 RCE 익스플로잇 – GraphQL 제품 조회 및 게스트 카트 맞춤 옵션을 통해 PHP 웹셸을 업로드합니다. 멀티스레드 방식으로 SKU를 자동 감지하고, 라이브 셸 URL을 up.txt에 저장합니다. 승인된 보안 테스트 전용입니다.
⚠️ 이 도구는 교육 및 공인된 보안 테스트 용도로만 제공됩니다. 소유하지 않은 시스템에 대한 무단 사용은 불법입니다.
이 익스플로잇은 Magento 2(Adobe Commerce)의 치명적인 인증되지 않은 원격 코드 실행(RCE) 취약점을 대상으로 합니다. GraphQL 제품 조회, 게스트 장바구니 생성, 사용자 정의 제품 옵션을 통한 악성 파일 업로드를 연쇄적으로 활용하여 공격자는 PHP 웹셸을 업로드하고 대상 서버에서 임의의 코드를 실행할 수 있습니다.
이 취약점은 원격 공격자가 서버 파일시스템에 PHP 파일을 작성한 뒤, 해당 파일에 접근하여 시스템 명령 실행, 파일 읽기/쓰기, Magento 설치 전체를 완전히 장악하는 것을 가능하게 합니다.
Shinday) 확인을 통해 셸 배포 검증up.txt에 저장/graphql에서 유효한 제품 SKU를 가져옵니다./rest/default/V1/guest-carts를 호출하여 장바구니 ID를 얻습니다./rest/default/V1/guest-carts/{cart_id}/items에 POST 요청을 보냅니다./pub/media/custom_options/quote/... 또는 /media/custom_options/quote/...에 저장합니다.Shinday 문자열을 확인합니다.up.txt에 추가됩니다.Queue, unicode 등 Python 2 전용 모듈을 사용합니다)requests, urllib3 라이브러리의존성 설치:
pip install requests urllib3
python exploit.py <list.txt>
<list.txt> – 대상 기본 URL이 한 줄에 하나씩 포함된 파일. http:// 또는 https:// 포함 여부는 무관합니다.https://example.com
http://shop.test
magento2.target.net
up.txt에 저장됩니다.python exploit.py targets.txt
[*] Total targets: 5
[*] Start time: 2025-03-15 12:00:00
[*] Starting 5 threads...
[Thread 1] Processing: https://example.com
[+] SKU : 24-WG080
[+] CART : 8f7c3e9a-1b2f-4d5e-9a8b-7c6d5e4f3a2b
[+] Upload Status : 200
[+] Webshell terpasang: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
[✓] Saved to up.txt: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
업로드되는 PHP 파일은 간단한 파일 관리자(xxxxx_shin.php 형태의 이름)로, 요청에 웹 기반 파일 탐색기로 응답합니다. 스크립트가 성공적인 업로드를 검증하는 데 사용하는 고유 마커 Shinday를 포함합니다.
테스트 후에는 이 셸을 시스템에 남겨두지 마십시오. 즉시 정리하십시오.
/media/custom_options/에서 예상치 못한 PHP 파일을 정기적으로 감사하십시오.이 소프트웨어는 교육 및 공인된 침투 테스트 목적으로만 제공됩니다. 작성자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다. 이 익스플로잇을 대상에 실행하기 전에 시스템 소유자의 명시적인 서면 허가를 받아야 합니다. 컴퓨터 시스템에 대한 무단 접근은 대부분의 관할권에서 형사 범죄입니다.
더 많은 면책 조항은 Jenderal92의 표지에서 확인할 수 있습니다. 여기에서 확인하세요 !!!