Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 토라비
- 홍대 토라비
- 신촌 소문난집
- useMutation error
- 잠실새내
- 화이트 해커를 위한 웹 해킹의 기술
- graphql react native
- graphql with RN
- apolloclient
- 금별맥주
- typescript
- 도그존
- 운정 소바동
- 홍대 카페 장쌤
- 잠실새내 도그존
- 예쁜술집 예술
- graphql mutation error
- 화이트해커를 위한 웹 해킹의 기술
- 비동기배열처리방법
- promise메서드
- 비동기배열
- 앙버터마카롱
- promise처리
- graphql 400
- 지보싶 신촌점
- 고르드
- graphql
- 홍대 예술
- apollo react native
- graphql with reactnative
Archives
- Today
- Total
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
XXE 외부 엔티티 공격 본문
XML (extensible markup language)
:기존에 없던 새로운 마크업 언어를 개발하기 위한 수단으로 사용되는 언어
마크업 언어: 문서에 마크업을 붙여서 추가적인 정보를 표시하는 언어
XML은 데이터 전달에 유리한 마크업 언어
XML을 작성할 때는 반드시 DTD가 명시되어 있어야 함
DTD
:데이터 작성 방법을 정의한 문서 형식 정의
<!DOCTYPE> 태그를 통해 선언할 수 있으며 외부에서 파일을 읽어올 수도 있다.
DTD의 엔티티(entity)
- 특정 문자열을 손쉽게 사용할 수 있는 사용구 같은 역할을 함
- 데이터 항목을 참조하기 위한 XML의 방법
- 보통 텍스트 (이진 데이터로도 구성 가능)
- 엔티티의 이름과 확장할 문자열을 미리 정의해 놓으면 XML문서나 DTD에서 사용되는 엔티티 이름은 모두 미리 정의한 문자열로 대체됨
- 선언된 엔티티는 XML문서에서 &엔티티 이름; 형식으로 사용한다. (ex. &)
- 엔티티가 문서 내부에서 선언되고 사용되면 내부 엔티티라고 하고, 문서 외부에 있는 내용을 참조해 불러오면 외부 엔티티라고 한다.
XXE 공격
:XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 발생한다.
사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 할 수 있다.
XXE 공격 대응
- 외부 엔티티 참조 기능이 필요하지 않은 경우 DTDs나 외부 엔티티 관련 설정을 비활성화한다.
- 시스템 운영자나 보안 관리자는 ENTITY 태그가 요청 메시지를 통해 전달되는 것이 확인되면 주의를 기울여야 한다.
(원래 의도했던 요청인지 여부를 확인할 필요가 있다.) - 서비스 중인 웹 애플리케이션에서 XML 외부 엔티티 기능이 필요하지 않다면 웹 방화벽 등 장비를 이용하여 해당 메시지를 차단한다.
'웹 > 웹 해킹' 카테고리의 다른 글
접근 통제 취약점 (0) | 2020.11.18 |
---|---|
민감한 데이터 노출 (0) | 2020.11.17 |
파일 업로드 공격 및 실습 (0) | 2020.11.12 |
파일 인클루전 (File inclusion) (0) | 2020.11.11 |
Stored XSS 공격 실습 (0) | 2020.10.08 |
Comments