본문 바로가기

봄보라

웹 취약점 XXE 공격 개요 (XML 외부 엔티티)

웹 취약점 중 XXE 공격에 대해 알아본다

 

XXE 란 XML 외부 엔티티를 이용한 공격이다

 

XXE 는 XML External Entity 의 약자이다

 

웹 취약점 중 하나인 XXE 공격에 대한 개요는 아래와 같다

 

XXE 공격 개요

 

해커가 웹서버로 XML 형식의 데이터를 전송하고

 

서버는 수신받은 XML 형식의 데이터 중 시스템 명령어를 수행해서 결과를 응답한다

 

이때 대표적으로 서버의 비밀번호를 요청하는 시스템 명령어를 수신받아 해킹할 수 있다

 

실제 XXE 공격시 전송하는 데이터의 형식 예제이다

 

<DOCTYPE bomz [
    <!ENTITY bomz SYSTEM 'file:///etc/passwd' >
]>

 

이런식으로 서버로 데이터를 전송하면 서버에선 해당 XML 형식의 문구를 해석 후 /etc/passwd 를 수행하여 결과를 응답하게 된다

 

참고로 /etc/passwd 는 유닉스 계열 시스템의 비밀번호를 확인하는 명령어이다

 

 

그렇다면 XXE 공격에 대한 대응은 어떻게해야할까?

 

공격에 대한 대응은 의외로 간단하다

 

DTDs 또는 외부 엔티티 관련 설정을 비활성화하는 것이다

 

단, 이 방법은 내부적으로 외부 엔티티를 사용하지 않을 경우만 해당한다

 

서버 개발 언어에 따라 방법은 다르므로 자신의 개발 언어에 맞는 방법을 검색 후 적용하면 된다

 

 

참고문헌 ) 화이트 해커를 위한 웹 해킹의 기술

 

참고솔루션) 봄즈 봄보라

'봄보라' 카테고리의 다른 글

XSS 공격 방지를 위한 OWASP ESAPI 이용하기  (0) 2021.10.10
칸반의 긴급 카드 프로세스  (0) 2021.10.03
CSRF 공격이란?  (0) 2021.09.19
Kanban System 의 간략 정의와 역사  (0) 2021.09.12
HTTPS 프로토콜과 보안  (0) 2021.09.05