피드로 돌아가기
TryHackMe | Battery | WALKTHROUGH
Dev.toDev.to
Security

SQL Truncation 및 XXE 취약점을 통한 Root 권한 탈취

TryHackMe | Battery | WALKTHROUGH

Mikail Kakabayev2026년 5월 23일9intermediate

Context

Apache 2.4.7 기반 웹 서비스에서 입력값 검증 미흡으로 인한 다중 취약점이 존재하는 환경. 사용자 계정 생성 및 권한 관리 로직의 설계 결함으로 인해 비인가자의 관리자 권한 획득이 가능한 구조.

Technical Solution

  • Username 필드의 12자 제한 설정을 이용한 SQL Truncation Attack으로 관리자 계정 권한 탈취
  • Account Number 파라미터의 입력값 인코딩 누락을 통한 Reflected XSS 및 HTML Injection 구현
  • /report 경로의 실행 파일 분석을 통한 내부 로직 및 관리자 계정 정보 식별
  • sudoers 설정 내 /usr/bin/python3 /home/cyber/run.py 실행 권한의 불완전한 격리를 통한 Privilege Escalation
  • 실행 파일의 쓰기 권한 제어 실패를 이용해 임의의 Python 스크립트를 주입하여 Root 쉘 획득

1. 입력 필드의 최대 길이와 DB 컬럼 크기를 일치시키고 Truncation 발생 시 에러 처리 로직 검토

2. 모든 사용자 입력값에 대해 Context-aware Encoding을 적용하여 XSS 및 Injection 방어

3. sudoers 설정 시 와일드카드나 수정 가능한 경로의 스크립트 실행 권한 부여 지양

4. 애플리케이션 내 민감한 설정 파일 및 실행 파일의 소유권과 권한(chmod) 최소화 원칙 적용

원문 읽기