
Grocery Store Management System 1.0에서 발견된 SQL Injection 취약점
Grocery Store Management System 1.0(PHP/MySQL 기반 웹 애플리케이션, anirudhkannan 제작)의 search_products.php 구성 요소에서 높은 심각도의 SQL 인젝션 취약점이 확인되었습니다.
이 문제는 사용자 제어 scost 매개변수를 사용한 부적절한 입력 검증 및 안전하지 않은 SQL 쿼리 구성에서 비롯됩니다. 이 결함으로 인해 공격자는 기본 SQL 로직을 조작할 수 있으며, 민감한 데이터 노출, 데이터 변경 또는 데이터베이스 전체 손상으로 이어질 수 있습니다.
Grocery/search_products.php취약점은 검증되지 않은 사용자 입력을 SQL 쿼리에 직접 연결하기 때문에 발생합니다.
숫자형 제품 비용 값을 나타내기 위한 scost POST 매개변수가 다음 없이 SQL WHERE 절에 포함됩니다:
이를 통해 공격자는 임의의 SQL 불리언 표현식을 주입하여 쿼리 동작을 변경하고 불리언 기반 SQL 인젝션 기술을 사용하여 데이터베이스 내용을 추출할 수 있습니다.
취약점은 search_products.php에 대한 표준 POST 요청을 통해 악용될 수 있습니다. 악의적인 표현식이 제공되면 백엔드는 측정 가능한 응답 차이(TRUE/FALSE 변형)를 반환하여 사용자 입력이 SQL 논리에 영향을 미친다는 것을 확인합니다.
scost 입력 필드에 대한 서버 측 검증 부족이러한 조건들이 결합되어 공격자가 의도된 SQL 논리를 수정할 수 있게 합니다.
이 취약점은 낮은 공격 복잡도, 인증 요구 사항 부재, 데이터베이스에 대한 전체 읽기/쓰기 영향으로 인해 높음으로 평가됩니다.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
예상 심각도: 높음 (9.8)
취약점은 scost 매개변수에 전달된 조작된 값을 통해 악용될 수 있습니다.
공격자는 다음을 수행할 수 있습니다:
(상세 페이로드는 오용 방지를 위해 의도적으로 생략되었습니다.)
취약점을 해결하려면:
scost가 숫자 값만 허용하도록 보장패치가 제공될 때까지: