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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-49438 — CVE-2023-49438 - Flask-Security-Too의 오픈 리다이렉트 취약점 | Kitploit
도구/GitHubGitHub/brandon-t-elliott/cve-2023-49438
Vulnerability AnalysisWeb Application ExploitationWeb SecurityPapers & ResearchLearning & Education
GitHubbrandon-t-elliott/cve-2023-49438

CVE-2023-49438

CVE-2023-49438 - Flask-Security-Too의 오픈 리다이렉트 취약점

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-49438

개념 증명

flask-security-too-open-redirect

설명

Python 패키지 Flask-Security-Too <=버전 5.3.2의 오픈 리디렉션 취약점으로 인해 공격자가 /login 및 /register 경로의 ?next 매개변수를 악용하여 조작된 URL을 통해 의심하지 않는 사용자를 악성 사이트로 리디렉션할 수 있습니다.

배경

Flask-Security-Too는 next 매개변수에 지정된 URL이 상대적이거나 요청 URL과 동일한 네트워크 위치를 가지고 있는지 확인하는 로직을 포함합니다. 이는 오픈 리디렉션을 방지하기 위한 시도로 구현되었습니다.

Flask-Security-Too Python 패키지는 이전에 검증 로직 우회에 취약한 것으로 발견되었으며, 버전 4.1.0에서는 https://example/login?next=\\\github.com과 같은 이전에 알려진 예제를 패치했습니다.

그러나 웹 브라우저가 URL에서 슬래시를 정규화하는 방식으로 인해 우회 방법이 발견되어 패키지가 버전 <=5.3.2에서 취약하게 되었습니다.

예시

https://example/login?next=/\github.com

https://example/login?next=\/github.com

영향

CVE-2021-32618에서 이전에 언급된 바와 같이, "Werkzeug를 WSGI 계층으로 사용하는 경우(Flask 애플리케이션에서 매우 일반적), 기본적으로 항상 Location 헤더를 절대 경로로 보장하므로 이 공격 벡터는 무의미합니다."

그러나, Werkzeug >=2.1.0에서 autocorrect_location_header 구성이 False로 변경되었습니다. 즉, 리디렉션의 Location 헤더가 기본적으로 상대 경로가 됩니다. 따라서 이 문제는 이전에는 영향을 받지 않았으나 Werkzeug >=2.1.0을 WSGI 계층으로 사용하는 애플리케이션에 영향을 줄 수 있습니다.

완화 조치

  1. Flask-Security-Too 5.3.3으로 업데이트
root@kitploit:~
pip install -U Flask-Security-Too

또는

  1. 앱에 다음 구성 옵션을 추가합니다(현재 알려진 모든 예제를 완화합니다):
root@kitploit:~
app.config['SECURITY_REDIRECT_VALIDATE_MODE'] = "regex"
app.config['SECURITY_REDIRECT_VALIDATE_RE'] = r"^/{4,}|\\{3,}|[\s\000-\037][/\\]{2,}(?![/\\])|[/\\](https://github.com/brandon-t-elliott/cve-2023-49438/blob/main/%5B%5E/%5C%5C%5D%7C/%5B%5E/%5C%5C%5D)*[/\\].*"

또는

  1. Werkzeug >=2.1.0을 사용하는 경우, autocorrect_location_header가 True로 설정되도록 수동으로 확인하세요:
root@kitploit:~
@app.after_request
def fix_location_header(response):
    response.autocorrect_location_header = True

    return response

CVE 참조

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-49438

https://nvd.nist.gov/vuln/detail/CVE-2023-49438

크레딧

우회 방법 발견: Brandon T. Elliott, 2023년 11월

도구 다운로드