XXE Injection
XML External Entity
XML를 통해 외부 개체 참조를 시도하는 취약점
서버내의 자원들을 무단으로 열람한다
XML - 데이터를 효율적으로 쉽게 주고 받기 위한 마크업 언어
클라이언트와 서버가 서로 주고 받을 때 XML를 사용하는데 JSON등장으로 줄어들고 있는 추세이다.
공격 원리 분석
정상적인 xml 경우 xml 파서 기능만 수행하고 application으로 가지만
비정상적인 xml 경우 외부 파일을 참조하고 application으로 간다.
DTD
Document Type Definition
XML문서의 구조, 요소와 속성을 정의한다.
DTD를 새롭게 정의하여 외부 엔티티를 활용하여 공격한다
.
XXE Injection 공격 실습
일반적인 내부에서 참조하는 방법이다.
SYSTEM 함수를 사용해 외부에 있는 파일을 가져온다.
만약 외부 파일을 참조할 때 외부 파일 안에 '<' 가 들어있으면 문법상 오류가 난다.
하지만 base64 인코딩 되어 출력을 하는
php://filter/read=convert.base64-encode/resource= 를 작성하면
오류가 뜨지 않는다.
파일 내용을 확인할 수 있다.
728x90
반응형
'Web Hacking' 카테고리의 다른 글
Flask?? (0) | 2023.09.02 |
---|---|
Why!!!! What is a Web!!!! (0) | 2023.08.27 |
XSS(Cross-Site Scripting) (2) | 2023.08.04 |
SQL Injection(BLIND-BASED) (0) | 2023.07.28 |