728x90
반응형

 

※ Modern REST framework

최신의 REST 프레임워크를 사용하는 서버의 경우, 개발자가 생각하지 못한 형태의 데이터(요청 메시지)를 받아들이는 경우도 있다. 이에 따라 JSON 엔드포인트(서버에서 JSON 형식의 데이터를 받아 처리하는 부분)는 XXE 공격에 취약할 수 있다.

 

해당 문제에서는 이 프레임워크로 서버용 웹 어플리케이션을 개발하는 경우, 클라이언트와 JSON 객체의 형식으로 메시지를 주고 받을 수 있고, 개발 의도와 무관하게 클라이언트가 JSON 객체가 아닌 형태로 요청 메시지를 보내도 서버 측에서는 그것을 받아들일 수 있다는 정도로 생각하면 된다.

 

문제의 힌트를 열어보게 되면 content type를 살펴보라고 나와있다.

Content-Type을 살펴보면 application/json 타입으로 되어 있는 것을 볼 수 있다.

 

Burpsuite의 intercept 옵션을 이용해 Content-Type: application/json일 경우 intercept할 수 있도록 설정해준다.

이제 commit버튼을 눌러 request을 조작해보자.


 

Request를 조작 후 전송하게 되면 서버에서는js entity를 호출할 때 c드라이브에 있는 파일 및 디렉터리를 열람하게 된다. 

기존에는 json으로만 처리했지만 xml로 바꿔서 보내도 서버가 해석하고 처리한다. 

결국 개발자가 의도하지 않는 상황이 생기게 되는 것이다.

728x90
반응형

+ Recent posts