728x90
이번 문제는 XXE(XML eXternal Entity) 즉, XML 외부 엔티티를 이용한 공격을 하면 된다.
문제에서는 재고확인 기능이 있는데 이 기능을 이용하여 XML 외부 엔티티를 삽입해 /etc/passwd 파일을 불러오라고 나와있다.
XML과 XEE에 관한 내용은 https://jh-hack.tistory.com/78에서 확인 할 수 있다.
우선 홈페이지의 재고확인 버튼을 눌러 burp suite로 패킷을 탈취해 봤다.
제품 id, 상점 id 같은 정보들을 xml을 전송하여 서버로부터 데이터를 가져오는 것을 알 수 있다.
여기에 <!DOCTYPE jh [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> 외부 엔티티를 선언해주고
&xxe;로 외부 엔티티를 참조해 주면
/etc/passwd 파일이 읽어지는 걸 볼 수 있다.
728x90