공부

XML External Entity (XXE) Injection

푸쥬 ! 2022. 2. 26. 01:04
반응형

XML 코드를 입력받아서 파싱할 때 발생하는 취약점.

테스트 코드 작성

 

1. XML 파싱코드

file_get_contents 함수를 통해 xml.txt 파일을 불러와 simplexml_import 에 있는 코드를 가져와서 파싱.

파싱은 <user> 와 <pass> 에서 하는 것을 확인.

 

 

2. xml.txt 내용

파싱되는 xml entity 가 <user>, <pass>.

entity 값을 함수로 돌려 로컬 파일 읽기 등의 공격이 가능.

현재는 /etc/passwd 파일을 읽는 코드.

지금은 테스트라 파일 형태지만, 파라미터 형태(POST)로 넘어올 경우가 존재할 수 있음.

이때 출력되는 entity 를 찾아 공격코드를 삽입.

 

 

3. 출력 결과

 

반응형

'공부' 카테고리의 다른 글

sed를 이용한 공백 제거  (0) 2022.03.01
ARP 테이블 수정  (0) 2022.02.26
우분투에서 Apache+PHP+MySQL(APM) 초간단 설치  (0) 2013.04.19
어셈블리 명령어  (0) 2013.04.18
Linux GDB 사용 및 메모리 맵 그리기  (0) 2013.04.08