728x90 Portswigger/XXE4 Portswigger - Exploiting blind XXE to retrieve data via error messages solution 이번 문제는 에러 메시지를 통한 XXE 문제다. 우선 일반적인 엔티티는 막혀있는 상태이다. 그럼 외부엔티티로 passwd 파일을 불러와보자 exploit 서버에 아래 코드를 입력하고 %ex; %file; 위 코드가 작동하는 원리는 두 번째 줄이 핵심이다. 1. ex라는 내부 엔티티를 선언하고 file이라는 외부 엔티티 내용이 담긴 내용을 호출한다. 2. 호출된 file 외부 엔티티에 경로를 일부러 에러가 나게끔 설정하고 첫 번째 줄에 선언한 pw 외부엔티티를 호출한다. 여기서 file엔티티를 선언할 때 %를 넣은 이유는 file 엔티티가 ex엔티티 안에 있으므로 %를 사용할 시 엔티티 호출로 인식한다. 그러므로 특수문자 기능이 없는 문자 %를 넣으려면 hex로 넣어야 된다. 3. 경로 에러가 생기면서 에.. 2024. 1. 3. Portswigger - Exploiting XXE via image file upload solution 이번 문제는 댓글에 이미지를 xml형식으로 업로드해 /etc/hostname파일의 내용을 표시하는 이미지를 업로드하면 된다. 이미지 형식 중 xml을 이용하는 형식은 svg가 있다. 우선 댓글을 작성하고 패킷을 탈취해 보면 각 데이터가 전송되는걸 볼 수 있다. 이중 avatar속성이 이미지이며 xml을 통해 작성하면 된다. &xxe; jh라는 외부 엔티티를 /etc/hostname/ 파일 경로로 선언해 주고 svg태그를 이용해 적당한 넓이와 높이 폰트사이즈와 x, y를 설정해준다음 &xxe;로 외부 엔티티를 참조해 주면 댓글 아바타 이미지에 코드가 보이는 걸 확인할 수 있다. 51300d948031 이 코드를 답안으로 제출하면 문제가 풀린다. 2023. 12. 29. Portswigger - Exploiting XXE to perform SSRF attacks solution 이번 문제는 XXE 취약점을 활용해 SSRF공격을 하는 것이다. 먼저 페이지의 재고확인 버튼을 눌러보자 xml형식으로 데이터를 가져오는 것을 볼 수 있다. 문제에서는 EC2 메타데이터에서 iam 시크릿 액세스 키를 획득하라 한다. EC2 = 아마존에서 제공하는 컴퓨터 클라우드 http://169.254.169.254/ = EC2 메타데이터 기본 데이터 url 우선 데이터를 가져오려면 데이터가 존재하는 정확한 경로가 필요하다. 이 문제에는 취약점이 하나 있는데 위 사진처럼 productId에 hello를 넣었더니 에러메시지로 에러가 있는 hello라는 단어가 출력되는 걸 볼 수 있다. 이렇게 에러가 발생한 부분을 노출해 주면 악용될 수 있다. 로 외부 엔티티를 선언해 주고 &xxe;로 외부 엔티티를 참조해.. 2023. 12. 27. Portswigger - Exploiting XXE using external entities to retrieve files solution 이번 문제는 XXE(XML eXternal Entity) 즉, XML 외부 엔티티를 이용한 공격을 하면 된다. 문제에서는 재고확인 기능이 있는데 이 기능을 이용하여 XML 외부 엔티티를 삽입해 /etc/passwd 파일을 불러오라고 나와있다. XML과 XEE에 관한 내용은 https://jh-hack.tistory.com/78에서 확인 할 수 있다. [개념정리] XXE 란? 대표적이 웹 해킹 기법이라 하면 SQL injection, XSS, CSRF, XXE 등등이 있다. 이중 XXE는 무엇일까? XXE는 XML External Entity의 약자이다. 먼저 XXE를 알아보기전에 XML이 무엇인지 알아야 한다. XML이란? XML이란 jh-hack.tistory.com 우선 홈페이지의 재고확인 버튼을 눌.. 2023. 8. 11. 이전 1 다음 728x90