본문 바로가기
보안

Chapter 15. XXE 공격

qbang 2019. 3. 14.

XXE 공격 개요

- XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 발생할 수 있음

- 사용자가 웹 어플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 할 수 있음

 

XXE 공격 실습

 

- bWAPP>XML External Entity Attacks (XXE)에서 [Any Bugs?]누르면 전송되는 데이터에서 XML이 전송되는 것을 발견

 

- bee가 응답데이터도 있네 -> XML 태그의 내용이 응답 페이지에서 발견된다면 XXE 공격을 시도해볼 수 있음

 

 

 

- 해당 요청을 repeater로 보내고 문자열을 바꿔서 보냈더니 response 쪽에서도 같은 문자열이 있음 -> 서버가 xml을 처리하고 있구나

 

- body 부분에 <login> 태그에서 외부 엔티티를 참조할 수 있도록 하고 패킷 전송하면 파일 내용 출력

 

XXE 공격 대응

- 외부 엔티티 참조 기능이 필요하지 않은 경우 DTDs나 외부 엔티티 관련 설정을 비활성화(웹 방화벽 등 사용)

 

 

 

해당 포스팅은 '화이트해커를 위한 웹 해킹의 기술' 책 내용을 바탕으로 작성되었습니다.

댓글