본문 바로가기

Wargame(hacking)/PortSwigger

Lab: Modifying serialized objects

Write Up

 

→ 해당 Lab에서는 직렬화 기반 세션 메커니즘을 사용하며, 권한 상승에 취약하다. 실습해결을 위해 세션 쿠키에서 직렬화된 객체를 편집하여 권리자 권한을 얻도록 한다. 

 

주어진 wiener 계정으로 로그인 시, 아래 그림 1과 같은 세션쿠키를 갖게 된다. 

 

그림 1

 

해당 쿠키를 base64 디코딩하면, 직렬화된 객체가 어떤 속성을 가지는지 확인할 수 있다. 그 중 admin 속성에 대한 부울 값이 false( 0 ) 인것이 눈에 띈다. 그러므로 이를 1로 바꿔보도록 한다. 

 

O:4:"User":2:{s:8:"username";s:6:"wiener";s:5:"admin";b:1;}%3d

 

위를 base64 encoding 적용하여, 세션 쿠키에 대입하면, admin의 권한으로 carlos 계정을 삭제할 수 있다.