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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-2020-SSRF-via-URL-Parser-Differential — urllib.parse와 requests 간의 URL 파서 차이를 통한 SSRF 악용을 시연하며, 취약한 서비스와 PoC 익스플로잇 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/george0papasotiriou/cve-2026-2020-ssrf-via-url-parser-differential
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubgeorge0papasotiriou/cve-2026-2020-ssrf-via-url-parser-differential

CVE-2026-2020-SSRF-via-URL-Parser-Differential

urllib.parse와 requests 간의 URL 파서 차이를 통한 SSRF 악용을 시연하며, 취약한 서비스와 PoC 익스플로잇 스크립트를 포함합니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
17일 전아직 검토되지 않음

CVE-2026-2020 – URL 파서 차이로 인한 SSRF

프로그램 코드 (Python)

root@kitploit:~
# vulnerable_service.py - Validates URL with urllib.parse, fetches with requests
from flask import Flask, request
import requests
import urllib.parse

app = Flask(__name__)

def is_allowed_url(url):
    parsed = urllib.parse.urlparse(url)
    # Only allow http://localhost and http://127.0.0.1
    return parsed.hostname in ('localhost', '127.0.0.1')

@app.route('/fetch')
def fetch():
    url = request.args.get('url')
    if not is_allowed_url(url):
        return "Blocked", 403
    # Fetch with requests (different parser)
    r = requests.get(url, timeout=5)
    return r.text

if __name__ == '__main__':
    app.run(port=5000)

CVE-2026-2020 – URL 파서 차이로 인한 SSRF

Severity: High

개요

한 서비스가 urllib.parse.urlparse를 사용하여 URL을 검증하지만, 이후 requests 라이브러리로 해당 URL을 가져옵니다. 두 파서가 특수 문자(예: @)를 처리하는 방식의 차이로 인해 공격자가 화이트리스트를 우회하고 내부 리소스에 접근할 수 있습니다.

취약점 세부 정보

  • 유형: 서버 측 요청 위조(SSRF) – 파서 차이
  • 영향: 내부 서비스 접근, 클라우드 메타데이터 유출.
  • 근본 원인: urlparse는 [email protected]을 호스트 이름이 localhost인 것으로 처리하는 반면(@ 앞부분은 사용자 이름), requests는 호스트를 evil.com으로 해석합니다.

익스플로잇 데모

  1. 취약한 서비스를 시작합니다:
    root@kitploit:~
    pip install flask requests
    python vulnerable_service.py
    
  2. 익스플로잇을 실행합니다:
    root@kitploit:~
    python exploit_ssrf_parser_diff.py
    
도구 다운로드