반응형
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. 출력 결과
728x90