🇰🇷 한글 설명
Nur-Alam39 bus-ticket 프로젝트의 bus_info.php 파일에서 인증되지 않은 사용자가 SQL 인젝션을 수행할 수 있는 취약점이 발견되었습니다. HTTP POST 방식으로 전달되는 busid 파라미터가 적절한 검증이나 매개변수화 없이 MySQL 쿼리에 직접 결합되어 발생합니다.
💡 쉬운 설명
해커가 버스 정보 조회창에 특수한 명령어를 입력하여 데이터베이스를 마음대로 조작할 수 있는 보안 구멍이 발견되었습니다. 이를 통해 개인정보를 훔치거나 시스템을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
Nur-Alam39 bus-ticket (no released versions; latest commit 459cabdbeb99c00225b26e46e3c2c30ae1de7bad) contains an unauthenticated SQL injection vulnerability in bus_info.php. The busid parameter received via HTTP POST is concatenated directly into a MySQL query (select * from bus_info where id=) without sanitization, escaping, or parameterization, and in a numeric (unquoted) context.
📍 영향받는 시스템
Nur-Alam39 bus-ticket (최신 커밋 459cabdbeb99c00225b26e46e3c2c30ae1de7bad 포함 모든 버전)
⚔️ 공격 벡터
HTTP POST 요청의 busid 파라미터에 악의적인 SQL 구문을 삽입하여 공격
🛡️ 대응 방법
Prepared Statements(매개변수화된 쿼리)를 사용하여 입력값을 처리하고, 입력값에 대한 엄격한 타입 검증을 실시해야 합니다.
🔧 검증 코드
명령어 결과가 'VULNERABLE'이면 취약한 커밋이 포함된 상태이며, 'SAFE'이면 안전한 상태입니다.
git rev-parse HEAD | grep -q '459cabdbeb99c00225b26e46e3c2c30ae1de7bad' && echo 'VULNERABLE' || echo 'SAFE'