-
모의해킹의 열 번째 XXE 공격웹 해킹 2021. 3. 22. 13:54
XXE (XML eXternal Entity, XML 외부 엔티티) 취약점은 XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 나타날 수 있다.
사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 수행할 수 있다.
XXE 공격 실습
위 버튼을 누르면 사용자의 시크릿이 버튼에 표시된 문자열로 초기화되는 기능이 구현되어 있다.
위 그림과 같이 Content-Type 헤더가 text/xml 타입으로 설정되어 있고, XML 데이터가 전송되고 있다.
앞에 bee는 로그인 태그안에 사용된 문자열인 것을 알 수 있다.
<login> 태그의 값으로 외부 엔티티를 참조함으로써, /etc/passwd 파일의 내용을 알아보겠다.
XXE 공격 대응
외부 엔티티 참조 기능이 필요하지 않은 경우 DTDs나 외부 엔티티 관련 설정을 비활성화한다.
혹은 웹 방화벽 등의 장비를 이용하여 차단한다.
위 글은 화이트 해커를 위한 웹 해킹의 기술을 참고했습니다.
'웹 해킹' 카테고리의 다른 글
모의해킹의 열두 번째 자바 역직렬화 취약점 공격 (0) 2021.03.25 모의해킹의 열한 번째 알려진 취약점을 이용한 공격 (0) 2021.03.23 모의해킹의 아홉 번째 접근 통제 취약점 공격 (0) 2021.03.19 모의해킹의 여덟 번째 민감한 데이터 노출 (0) 2021.03.18 모의해킹의 일곱 번째 파일 공격 (0) 2021.03.17