🇰🇷 한글 설명
PHP Timeclock 1.04의 login.php에 있는 login_userid 매개변수에 시간 기반 및 불린 기반 blind SQL injection 취약점이 존재합니다. 미인증 공격자가 악의적인 SQL 페이로드를 포함한 POST 요청을 전송하여 SLEEP 함수나 RLIKE 조건문으로 데이터베이스 내용을 추출할 수 있으며, 직원 이름과 자격증명 등 민감한 정보 유출이 가능합니다.
💡 쉬운 설명
PHP Timeclock의 로그인 화면에서 입력값이 제대로 검증되지 않아, 특수한 SQL 명령어를 입력하면 데이터베이스의 모든 정보를 빼낼 수 있습니다. 로그인할 필요 없이 누구나 이 공격을 수행할 수 있습니다.
🇺🇸 원문 (English)
PHP Timeclock 1.04 contains time-based and boolean-based blind SQL injection vulnerabilities in the login_userid parameter of login.php that allows unauthenticated attackers to extract database contents. Attackers can submit crafted POST requests with SQL payloads using SLEEP functions or RLIKE conditional statements to dump sensitive database information including employee names and credentials.
📍 영향받는 시스템
PHP Timeclock 1.04 이하
⚔️ 공격 벡터
로그인 페이지의 login_userid 매개변수에 SQL injection 페이로드 삽입을 통한 blind SQL injection 공격
🛡️ 대응 방법
PHP Timeclock을 최신 패치 버전으로 업그레이드하고 준비된 명령문(prepared statements)을 사용하여 입력값을 안전하게 처리
🔧 검증 코드
시스템에 PHP Timeclock이 설치되어 있으면 해당 경로가 표시되며, 검색된 버전을 확인하여 1.04 이하인지 판단합니다.
find / -name '*timeclock*' -o -name '*login.php*' 2>/dev/null | grep -i timeclock