
CVE-2017-9506 - SSRF
Python 3에서만 테스트됨
http 또는 https를 제외한 웹사이트 목록을 제공하면 각 사이트에 대해 SSRF 취약점을 테스트합니다.

DO에서 VPS를 사용하세요
Atlassian OAuth Plugin의 IconUriServlet은 버전 1.3.0부터 1.9.12 미만, 버전 2.0.0부터 2.0.4 미만에서 원격 공격자가 서버 측 요청 위조(SSRF)를 통해 내부 네트워크 리소스의 콘텐츠에 접근하거나 XSS 공격을 수행할 수 있도록 합니다.
Atlassian Jira에 따르면 다음 버전이 취약합니다:
서버 측 요청 위조(SSRF) 공격에서 공격자는 서버의 기능을 악용하여 내부 리소스를 읽거나 업데이트할 수 있습니다. 공격자는 서버에서 실행되는 코드가 읽거나 데이터를 제출할 URL을 제공하거나 수정할 수 있으며, URL을 신중하게 선택함으로써 공격자는 AWS 메타데이터와 같은 서버 구성을 읽거나, HTTP 활성화 데이터베이스와 같은 내부 서비스에 연결하거나, 노출되지 않아야 할 내부 서비스에 POST 요청을 수행할 수 있습니다.
대상 애플리케이션에는 URL에서 데이터를 가져오거나, URL에 데이터를 게시하거나, 조작 가능한 URL에서 데이터를 읽는 기능이 있을 수 있습니다. 공격자는 완전히 다른 URL을 제공하거나 URL 구성 방식(경로 순회 등)을 조작하여 이 기능에 대한 호출을 수정합니다.
조작된 요청이 서버에 도착하면 서버 측 코드가 조작된 URL을 받아서 해당 URL에서 데이터를 읽으려고 시도합니다. 대상 URL을 선택함으로써 공격자는 인터넷에 직접 노출되지 않은 서비스에서 데이터를 읽을 수 있습니다:
클라우드 서버 메타데이터 - AWS와 같은 클라우드 서비스는 http://169.254.169.254/latest/meta-data/에서 REST 인터페이스를 제공하며, 여기에서 중요한 구성 및 인증 키를 추출할 수 있습니다.
데이터베이스 HTTP 인터페이스 - MongoDB와 같은 NoSQL 데이터베이스는 HTTP 포트에서 REST 인터페이스를 제공합니다. Docker 및 Kubernetes - 로컬 포트가 내부적으로 노출된 경우 공격자는 pod 및 컨테이너를 생성/삭제하고 다른 비밀을 검색할 수 있습니다. 데이터베이스가 내부에서만 사용 가능할 것으로 예상되는 경우 인증이 비활성화되어 있을 수 있으며 공격자는 데이터를 추출할 수 있습니다. 내부 REST 인터페이스
파일 - 공격자는 file:// URI를 사용하여 파일을 읽을 수 있습니다. 또한 이 기능을 사용하여 신뢰할 수 있는 소스에서만 데이터를 읽을 것으로 예상되는 코드에 신뢰할 수 없는 데이터를 가져와 입력 검증을 우회할 수 있습니다.
시도해 볼 재미있는 SSRF 페이로드...
AWS - IAM 역할이 AWS 키를 유출합니다
http://169.254.169.254/latest/meta-data/
Alibaba
http://100.100.100.200/latest/meta-data/
Docker - 컨테이너 목록
http://127.0.0.1:2375/v1.24/containers/json
Kubernetes ETCD - API 키, 내부 IP 및 포트를 포함할 수 있음
http://127.0.0.1:2379/v2/keys/?recursive=true