# XXE 외부 엔티티 공격
+ XML : 기존에 없던 새로운 마크업 언어를 개발하기 위한 수단으로 사용되는 언어로
데이터 전달에 유리하다.
- XML작성시 반드시 DTD가 명시되어 있어야 한다.
+ DTD: Document Type Definition// XML문서의 구조 및 해당 문서에서 사용할 요소와 속성을 정의
- DTD에서의 entity
: 특정 문자열을 손쉽게 사용할 수 있는 상용구와 같은 역할을 한다.
: 엔티티의 이름과 확장할 문자열을 미리 정의하면 XML문서나 DTD에 사용되는 entity의
이름이 모두 미리 정의된 문자열로 대체된다.
: 선언된 엔티티는 XML 문서에서 & + 엔티티 이름 + ; 의 형식으로 사용한다.
+ XXE 공격
: 사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는
경우, 공격자는 외부 entity를 참조하는 XML데이터를 전송하여 파일과 같은 서버 내부의 정보를
탈취하거나 서비스 거부 공격, SSRF 등의 공격을 수행할 수 있다.
+ XXE 공격 개요
: XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 entity를 처리할 수
있도록 설정된 경우 발생할 수 있다.
+ XXE 외부 엔티티 공격 대응
- 외부 엔티티 참조 기능이 필요하지 않은 경우 DTDs나 외부 엔티티 관련 설정을 비활성화한다.
-- 비활성화 방법은 프로그래밍 언어나 XML 파서의 종류에 따라 다르다.
- 시스템 운영자나 보안 관리자는 ENTITY 태그가 요청 메시지를 통해 전달되는 것이 확인되면
주의를 기울여야 한다.
-- 원래 의도했던 요청인지 여부를 확인할 필요가 있다.
- 서비스 중인 웹 애플리케이션에서 XML 외부 엔티티 기능이 필요하지 않다면 웹 방화벽 등
장비를 이용하여 해당 메시지를 차단한다.
'about Security > 웹보안과 해킹' 카테고리의 다른 글
[웹해킹문제풀이] # webhacking.kr 워게임 8번 (0) | 2021.02.15 |
---|---|
# 알려진 취약점 공격 (0) | 2020.11.29 |
[웹해킹 실습] # 접근 통제 취약점 공격 (개념 + 실습) (0) | 2020.11.23 |
[웹해킹 실습] # 민감한 데이터 노출 (개념 + 실습) (0) | 2020.11.22 |
[웹해킹 실습] # 파일 업로드 공격 (0) | 2020.11.15 |
댓글