[PentesterLab] ObjectInputStream

쥬스몬·2022년 3월 15일
0

PentesterLab

목록 보기
11/20

PentesterLab의 ObjectInputStream 문제에 대한 접근 방법을 기록

이번 문제는 Java 객체를 사용하는 Spring으로 이루어진 웹 애플리케이션이다. 이 문제는 사용자로부터 전달되는 직렬화된 데이터를 역직렬화하는 과정에서 ObjectInputStream.readObject() 함수를 사용하는 과정에서 RCE가 발생할 수 있다는 점을 이용한다.

로그인 페이지에서 제공하는 기본 계정으로 로그인할 경우 Cookie에 auth 값으로 직렬화된 오브젝트로 추정되는 값을 확인할 수 있다.
\xac\xed\x00 (base64)-> rO0

payload 생성을 위해 Java 역직렬화 취약점 페이로드 제작도구인 ysoserial을 사용한다(우리는 이미 해당 사이트가 Spring을 사용하는 것을 알기에 Spring 페이로드를 사용!😎)

해당 페이로드를 Cookie 내 auth에 삽입하여 전달할 경우 ObjectInputStream.readOjbect에 전달되면서 RCE가 발생한다.

profile
블로그 이사 (https://juicemon-code.github.io/)

0개의 댓글