
이 저장소에는 Termix의 Stored Cross-Site Scripting(XSS) 취약점에 대한 PoC(Proof of Concept) 익스플로잇이 포함되어 있으며, 해당 취약점은 Electron 환경에서 Local File Inclusion(LFI) 및 세션 하이재킹(Session Hijacking)으로 이어질 수 있습니다.
이 저장소에는 Termix의 저장형 크로스 사이트 스크립팅(XSS) 취약점에 대한 PoC(Proof of Concept) 익스플로잇이 포함되어 있으며, 이는 Electron 환경에서 로컬 파일 포함(LFI) 및 세션 하이재킹으로 이어질 수 있습니다.
dangerouslySetInnerHTML을 사용한 SVG 파일의 안전하지 않은 렌더링.requestsPython 의존성 설치:
python3 -m venv .venv
source .venv/bin/activate
pip3 install requests
대상 애플리케이션(Termix) 설정: 취약한 버전의 Termix(Release 1.9.0)가 압축 해제되어 있는지 확인하세요. 참고: 이 익스플로잇은 Termix Release 1.7.0 - 1.9.0에서 작동하도록 설계되었습니다.
wget https://github.com/Termix-SSH/Termix/archive/refs/tags/release-1.9.0-tag.zip
unzip release-1.9.0-tag.zip
터미널 1 (백엔드):
cd Termix-release-1.9.0-tag
npm install
npm run dev:backend
백엔드 서버가 완전히 시작될 때까지 기다리세요.
터미널 2 (프론트엔드/Electron):
cd Termix-release-1.9.0-tag
npm run electron:dev
Termix 애플리케이션 창이 열려야 합니다.
SSH 액세스 설정 (Localhost):
익스플로잇은 피해자의 SSH 서버에 연결하여 악성 파일을 업로드합니다.
포트 22에서 SSH 서버가 실행 중인지 확인하거나 그에 맞게 스크립트를 조정하세요.
기본 구성에서는 제공된 인증 키(또는 비밀번호)를 가진 kali 사용자가 사용됩니다.
익스플로잇 스크립트 실행: 새 터미널을 열고 다음을 실행하세요:
python3 exploit.py --user 'USERNAME' --pass 'PASSWORD'
참고: 제공된 데이터는 기본 자격 증명 또는 직접 등록한 자격 증명과 일치합니다.
XSS 트리거:
/home/kali(또는 파일이 업로드된 위치)로 이동합니다.cookie_stealer.svg**를 클릭하여 봅니다.성공 확인:
localStorage에서) 및 쿠키가 표시됩니다.exploit.py)스크립트는 다음 작업을 수행합니다:
localhost를 가리키는 관리형 SSH 호스트 항목을 생성합니다(생성된 SSH 키 사용).cookie_stealer.svg)을 업로드합니다.
<foreignObject>를 사용하여 SVG 내부에 HTML/JS를 삽입합니다.<img src="https://raw.githubusercontent.com/themehackers/cve-2026-22804/HEAD/x" onerror="...">는 렌더링 즉시 실행을 트리거합니다.면책 조항: 이 코드는 교육 및 테스트 목적으로만 제공됩니다. 소유하지 않았거나 테스트 권한이 없는 시스템에 사용하지 마십시오.