관리 메뉴

Information Security

XML External Entity Attacks (XXE) 본문

Web Security/Bee-Box

XML External Entity Attacks (XXE)

HackingPractice 2019. 9. 21. 14:03

XML External Entity Attacks (XXE)

- SYSTEM 키워드로 XML 파서를 발생하게 하면 페이지의 내용을 대체하는 권한이 생기고, 공격자는 XML 파서로 서버 시스템에 접근할 수 있다.

 

Level (Low)

XML External Entity Attacks에서 Any bugs? 버튼을 눌러도 아무 반응이 없었다.

그림 1-1 XML

소스코드 내용에서 xxe-2.phpPOST 방식으로 전달되는 것을 알 수 있다.

그림 1-2 소스코드

버프스위트를 이용해 내용을 확인했다.

그림 1-3 버프스위트

xxe-2.php 파일 내용을 확인했다.

그림 1-4 xxe-2.php

버프스위트 Repeter 기능을 이용해 그림 1-4 코드를 내용을 확인했다.

그림 1-5 Robots 파일

heroes.xml 내용이 Base64로 인코딩이라는 것을 알 수 있다.

그림 1-6 base64 인코딩

그림 1-7 내용을 base64로 디코딩하면 그림 1-6와 같은 내용이라는 것을 알 수 있다.

그림 1-7 base64 디코딩

대응방안

mysqli_real_escape_string 함수를 사용하여 우회한다. SQL 인젝션 공격에 사용하는 특수 문자가 XXE 공격에도 사용되므로 Null, \n, \r, \ ‘, “, ^Z에 백슬래시를 추가하여 XML 코드를 일반 문자로 변경한다.

그림 1-8 xxe-2.php

'Web Security > Bee-Box' 카테고리의 다른 글

CORS  (0) 2019.11.30
Remote & Local File Inclusion (RFI/LFI)  (0) 2019.09.21
Directory Traversal – Directories  (0) 2019.09.21
Heartbleed Vulnerability  (0) 2019.09.21
Clear Text HTTP (Credentials)  (0) 2019.09.21