웹 취약점 중 XXE 공격에 대해 알아본다
XXE 란 XML 외부 엔티티를 이용한 공격이다
XXE 는 XML External Entity 의 약자이다
웹 취약점 중 하나인 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 |