인증되지 않은 블라인드 SSRF in Oracle EBS

발행: (2026년 1월 11일 오전 04:20 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Oracle EBS의 인증되지 않은 블라인드 SSRF 표지 이미지

타사 상용 애플리케이션을 테스트할 때, 목표는 종종 공급업체가 충분한 테스트를 수행했으며 배포에 눈에 띄는 문제가 없다는 것을 고객에게 보증하는 것입니다.

Oracle의 상용 소프트웨어를 테스트하던 중 낮은 위험도의 SSRF가 발견되었습니다. 이 취약점은 내부 및 외부 호스트의 포트를 열거할 수 있게 하며, 일부 연구자에게는 흥미로운 대상이 될 수 있습니다.

Exploit

이 문제는 이전에 XXE 취약점에 사용된 엔드포인트를 퍼징하던 중 발견되었습니다. 기본 DOCTYPE 선언을 전송했으며, handy collaborator 페이로드가 서버가 제공된 URL을 해석하려고 시도했음을 보여주었습니다.

불필요한 헤더/파라미터를 제거하고 대상 정보를 가린 요청은 다음과 같습니다:

POST /OA_HTML/lcmServiceController.jsp HTTP/1.1
Host: victim.com
Content-Length: 56

요청은 타임아웃되었지만 Burp 이슈 로그에 DNS 조회가 기록되어 방화벽이 개입했음을 알 수 있었습니다. TCP/443(HTTPS)으로도 동일한 결과가 나오자, 동료가 외부 IP의 다양한 포트에서 요청을 수신하도록 설정해 포트 번호를 열거할 수 있었습니다(예: 위 요청에서 “80”).

관찰된 응답 유형은 다음과 같습니다:

  • Timeout – 방화벽이 요청을 차단함.
  • HTTP 200 및 “A remote host refused an attempted connect operation.” – 해당 호스트/포트에 도달했지만 열려 있지 않음.
  • HTTP 200 및 “Unexpected text in DTD.” – 해당 호스트/포트에 도달했고 열려 있음.

예시 응답 (localhost에서 SSH가 열려 있음을 나타냄)

이 정보를 활용하면 응답 유형을 모니터링하여 내부 및 외부 호스트와 포트를 열거할 수 있었습니다. 또한 file:// 프로토콜을 사용해 파일 존재 여부를 확인할 수 있었습니다. 다른 프로토콜을 이용해 해시를 가져오려 시도했지만 이번 경우에는 불가능했습니다.

Disclosure Timeline

  • 2018년 4월: 문제를 발견하고 Oracle에 보고.
  • 2018년 8월: Oracle이 문제를 확인하고 주요 코드 라인을 수정.
  • 2018년 10월: Oracle Critical Patch Update가 발표되었으며, 여기에는 해당 수정이 포함됨 – Oracle CPU 2018년 10월 advisory 참고.
  • 2018년 2월: 취약점에 대한 블로그 포스트가 공개.
Back to Blog

관련 글

더 보기 »

안녕, 뉴비 여기요.

안녕! 나는 다시 S.T.E.M. 분야로 돌아가고 있어. 에너지 시스템, 과학, 기술, 공학, 그리고 수학을 배우는 것을 즐겨. 내가 진행하고 있는 프로젝트 중 하나는...