Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-82531 — CVE-2026-82531에 대한 Python PoC 및 익스플로잇 체인: 위조된 SmartyNocache 마커를 통한 Smarty 템플릿 캐시 포이즈닝으로 PHP 코드 실행에 이르게 하며, 검사, 페이로드, Docker 랩을 포함합니다. | Kitploit
도구/GitHubGitHub/murrez/cve-2026-82531
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityRemote Access ToolLabs & Practice
GitHubmurrez/cve-2026-82531

CVE-2026-82531

CVE-2026-82531에 대한 Python PoC 및 익스플로잇 체인: 위조된 SmartyNocache 마커를 통한 Smarty 템플릿 캐시 포이즈닝으로 PHP 코드 실행에 이르게 하며, 검사, 페이로드, Docker 랩을 포함합니다.

저장소 보기
1129일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-82531 — Smarty 캐시 포이즈닝 RCE PoC

CVE-2026-82531 — smarty-php/smarty — extends + 템플릿 캐시 재생성 시 위조된 SmartyNocache 마커를 통한 코드 인젝션(CWE-94) → 캐시 include()에서의 RCE에 대한 Python 3 PoC입니다.

필드값
CVECVE-2026-82531
제품Smarty PHP 템플릿 엔진
영향 받는 버전< 4.5.8; 5.0.0 – 5.8.4
수정 버전4.5.8, 5.8.5
CWECWE-94 — 코드 생성의 부적절한 제어
CVSS 4.09.2 Critical (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)
CVSS 3.18.1 High
PoCbit 카탈로그https://pocbit.org/pocs/
PoCbit 페이지https://pocbit.org/pocs/cve-2026-82531
검증 마커POCBIT-82531-OK (HTTP 본문에 포함된 base64 명령 출력)
권고문GHSA-3w63-v7pm-cq9x

익스플로잇 초점: poc.py exploit은 워밍 → 캐시 삭제 → 포이즈닝(POST name=) → 트리거 순으로 실행합니다. check, payload, Docker lab/(Smarty 5.8.4)도 포함됩니다. 출력 파일: hits.txt, exploited.txt.


설명 (영어)

Smarty는 템플릿을 PHP로 컴파일하며 캐시된 출력을 기록할 수 있습니다. 템플릿이 extends: / 블록 상속을 사용할 때, 새로운 PHP 워커가 디스크에서 컴파일된 파일을 로드한 후 최상위 컴파일 함수가 nocache_hash를 설정하지 않은 채로 남길 수 있습니다.

캐시 재생성 중에 Smarty_Internal_Runtime_UpdateCache는 "nocache" 영역을 분할하는 정규식을 생성합니다. null 해시는 빈 정규식 대안을 만들어내므로, 공격자가 제어하는 assign() 데이터가 다음을 위조할 수 있습니다:

/*%%SmartyNocache:%%*/  <?php ... ?>  /*/%%SmartyNocache:%%*/

해당 블록은 생성된 캐시 PHP 파일에 그대로(verbatim) 복사됩니다(일반적인 PHP 태그 무력화는 건너뜁니다). 캐시 파일을 include하는 다음 요청이 주입된 PHP를 실행합니다 → 원격 코드 실행.

익스플로잇 체인 (exploit 하위 명령)

단계동작
1 워밍무해한 name=world → 컴파일 + 초기 캐시
2 초기화캐시 파일만 제거(컴파일된 템플릿은 유지) — 랩에서 ?lab_clear_cache=1 노출
3 오염name=<위조된 SmartyNocache + PHP shell_exec> → 오염된 캐시 기록됨
4 트리거무해한 name=benign → include()가 주입된 PHP를 실행; 본문에 POCBIT-82531-OK:<base64> 포함

실제 대상에는 다음이 필요합니다: 캐싱 활성화, extends 템플릿, 사용자 제어 할당, 컴파일 디렉터리가 채워진 상태에서의 캐시 미스(TTL, 재시작 또는 관리자 플러시).


Açıklama (Türkçe)

Smarty extends: / 상속 + 캐시를 사용하는 애플리케이션에서 nocache_hash가 null일 때, 공격자가 assign한 위조 SmartyNocache 블록이 캐시 PHP 파일에 원시 PHP로 기록됩니다. 다음 요청에서 include → RCE. PoCbit 패키지: Docker 랩 + exploit 전체 체인.


빠른 시작 (랩 + 익스플로잇)

cd CVE-2026-82531
pip install -r requirements.txt
docker compose up --build -d

python poc.py check http://127.0.0.1:8088
python poc.py exploit --url http://127.0.0.1:8088 -c "id"
python poc.py exploit -i targets.example.txt -w 10 -c id
python poc.py payload -c "id"

패치 후: 모든 템플릿 캐시 파일을 삭제/재생성하세요.


법적 고지

승인된 보안 연구 및 본인이 소유하거나 테스트 권한을 가진 시스템에만 사용하세요.


크레딧

  • CVE / 벤더: smarty-php/smarty, 제보자 MegaManSec
  • PoC 체인: 업스트림 NocacheHashInjectionTest.php (Smarty 5.8.5)

GitHub 저장소 설명 (복사/붙여넣기)

CVE-2026-82531 — Smarty <4.5.8 / 5.x<5.8.5 cache-poisoning RCE (CWE-94, CVSS 4.0 9.2 AT:P). PoCbit PoC: extends+inheritance null nocache_hash → forged SmartyNocache marker in assign() → PHP in cache include. check/exploit/payload, Docker lab 5.8.4, hits.txt & exploited.txt. Fix 4.5.8 / 5.8.5. Marker POCBIT-82531-OK. https://pocbit.org/pocs/cve-2026-82531
도구 다운로드