728x90 Portswigger/SSRF4 Portswigger - SSRF with filter bypass via open redirection vulnerability solution 이번 문제는 개방형 리다이렉션의 취약점을 통해 필터링을 우회하는 문제다. 재고 확인기는 로컬 애플리케이션에만 액세스 하도록 제한되어 있으므로 먼저 애플리케이션에 영향을 미치는 공개 리디렉션을 찾아야 한다. 상품을 보면 오른쪽 아래 return to list와 next product 버튼이 존재한다. next product 버튼을 누를때 다음 상품으로 리다이렉트 되는 걸 확인할 수 있다. 이 리다이렉션을 이용하면 로컬에서 이동하는 것이므로 재고확인 필터링을 우회할 수 있을 것이다. 재고확인 버튼을 누르고 패킷을 잡아 next product 버튼의 주소를 stockApi에 넣어주면 재고가 나올 공간에 다음 상품페이지가 출력되는 걸 확인할 수 있다. 그럼 이제 path파라미터에 http://192.168.0... 2023. 11. 14. Portswigger - SSRF with blacklist-based input filter solution 이번 문제는 재고관리 페이지 SSRF에서 간단한 필터링 문제다. 우회해야 할 간단한 2개의 필터링이 존재한다고 한다. 솔직히 지금까지 워게임을 꾸준히 풀었으면 누구나 풀 수 있는 문제 같다. 우선 그냥 admin페이지를 요청하면 보안 메시지가 출력되며 들어가지지 않는다. 필터링이 걸려있는 게 분명하므로 우선 필터링확인을 해보면 admin과 localhost에 둘 다 블랙리스트 필터링이 걸려 있는 걸 확인할 수 있다. 여러 우회방법이 있지만 가장 기초적인고 간단한 대문자로 변경을 시도해 보면 바로 우회되는 걸 확인할 수 있다. 이 뒤는 간단하게 /delete? username=carlos만 넣어주면 된다. 2023. 11. 10. Portswigger - Basic SSRF against another back-end system solution 192.168.0.x의 내부 ip 포트번호 8080의 주소를 스캔해서 carlos라는 계정을 삭제하면 된다. 간단하게 x부분에 들어갈 숫자는 brute force로 찾아내면 된다. intruder에서 x를 타겟으로 잡고 대략 0부터 500까지 넣어보면 228에서 상태코드가 200으로 정상적인 응답이 오는 걸 볼 수 있다. http://192.168.0.228:8080/admin로 요청을 보내보면 재고확인 아래 admin페이지가 출력되는걸 볼 수 있다. carlos아이디 삭제를 위해 http://192.168.0.228:8080/admin/delete?username=carlos요청을 보내면 문제가 풀린다. 2023. 11. 10. Portswigger - Basic SSRF against the local server solution 문제에서 재고 확인 url을 변경하여 관리자페이지에서 carlos라는 사용자를 삭제하라 한다. 우선 재고확인 버튼을 누르면 아래 stockApi라는 다른 서버로 재고에 대한 정보 요청을 보내는 게 확인된다. 이를 http://localhost/admin로 바꾼뒤 전송하면 재고 확인 버튼 아래 관리자페이지가 나타나는걸 볼 수 있다. 여기서 carlos옆에 삭제 버튼을 누르면 관리자 인터페이스는 관리자계정으로 로그인되어있거나 루프백에서 요청되어야지만 사용할 수 있다.라는 문구와 함께 삭제되지 않는다. 여기서 루프백이란? 네트워크에서는 127.0.0.1 또는 localhost를 루프백이라 말한다. 우리는 관리자계정을 모르니 루프백으로 요청을 보내야 한다. 삭제 버튼을 누르면 get방식으로 주소를 받는데 이걸 .. 2023. 8. 11. 이전 1 다음 728x90