Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
baserunner — Firebase 데이터 저장소를 탐색하기 위한 도구입니다. | Kitploit
도구/GitHubGitHub/iosiro/baserunner
ExploitationInformation GatheringWeb SecurityPenetration TestingCloud SecurityDatabase Security
GitHubiosiro/baserunner

baserunner

Firebase 데이터 저장소를 탐색하기 위한 도구입니다.

저장소 보기
2402121년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Baserunner

Firebase 데이터 저장소를 탐색하고 익스플로잇하기 위한 도구입니다. Firebase 작동 방식과 이 도구를 개발한 이유에 대한 개요는 블로그 게시물을 참조하세요.

설정

  1. git clone https://github.com/iosiro/baserunner.git
  2. cd baserunner
  3. npm install
  4. npm run build
  5. npm start
  6. 브라우저에서 http://localhost:47710으로 이동하세요.

사용법

Baserunner 인터페이스는 다음과 같습니다:

먼저, 구성 텍스트 상자를 사용하여 테스트하려는 앱의 Firebase 구성 JSON 구조를 로드하세요. 형식은 다음과 같습니다:

root@kitploit:~
{
  "apiKey": "API_KEY",
  "authDomain": "PROJECT_ID.firebaseapp.com",
  "databaseURL": "https://PROJECT_ID.firebaseio.com",
  "projectId": "PROJECT_ID",
  "storageBucket": "PROJECT_ID.appspot.com",
  "messagingSenderId": "SENDER_ID",
  "appId": "APP_ID",
  "measurementId": "G-MEASUREMENT_ID",
  "databaseURL": "https://PROJECT_ID.firebasedatabase.app/"
}

그런 다음 이메일과 비밀번호 또는 휴대폰 번호를 사용하여 일반 사용자로 로그인하세요. 휴대폰 번호로 로그인할 때는 번호를 제출하기 전에 CAPTCHA를 완료하세요. 그러면 SMS로 OTP를 입력하라는 메시지가 표시됩니다. 로그인을 완료하려면 CAPTCHA를 완료하지 않고 이 OTP를 입력하세요. 이 단계를 건너뛰어 인증 없이 쿼리를 테스트할 수도 있습니다.

마지막으로 쿼리 인터페이스를 사용하여 애플리케이션의 Cloud Firestore, Realtime Database 및 Firebase Storage에 쿼리를 제출할 수 있습니다. Baserunner는 일반적인 작업을 위한 여러 템플릿 쿼리를 제공합니다. 텍스트 상자에 로드하려면 그중 하나를 클릭하고, ==LIKE THIS==처럼 보이는 값을 유효한 컬렉션 이름, ID, 필드, 파일 경로 등으로 바꾸세요.

Firebase JavaScript SDK를 사용하여 사용 가능한 컬렉션 목록을 가져올 수 있는 방법이 없으므로, 이러한 이름을 추측하거나 대상 애플리케이션의 프런트엔드 JavaScript에서 소스 코드를 찾아야 합니다.

Baserunner는 Firebase Storage 버킷도 쿼리할 수 있습니다. 현재 도구는 디렉터리 나열 및 파일 다운로드를 지원합니다. 이를 사용하려면 Firebase 구성에 storageBucket 필드가 포함되어 있는지 확인하세요. 스토리지 작업은 데이터베이스 쿼리와 동일한 인증을 사용합니다.

FAQ

앱이 Cloud Firestore를 사용하는지 Realtime Database를 사용하는지 어떻게 알 수 있나요?

Realtime Database를 사용하는 애플리케이션은 구성 객체에 databaseURL 키를 갖습니다. 이 키가 없는 애플리케이션은 Cloud Firestore를 사용한다고 가정할 수 있습니다. Firebase 애플리케이션이 두 데이터 저장소를 모두 사용할 수 있으므로, 확실하지 않을 때는 두 유형의 쿼리를 모두 실행하세요.

CORS로 인해 차단됩니다!

의도한 대로 작동하려면 Baserunner는 애플리케이션이 localhost에서의 요청을 수락할 것을 기대하며, 이는 기본적으로 활성화되어 있습니다. 따라서 Baserunner는 호스팅된 애플리케이션으로 사용할 수 없습니다.

테스트 중인 애플리케이션이 localhost에서의 요청을 허용하지 않는 경우, dist/index.html을 브라우저에서 열어 축소된 기능 세트의 Baserunner 버전을 계속 실행할 수 있습니다. 이러한 방식으로 Baserunner를 실행하면 이메일 + 비밀번호 로그인만 지원하며 전화 로그인은 지원하지 않습니다.

어떤 컬렉션을 쿼리해야 하는지 어떻게 알 수 있나요?

Cloud Firestore: 보안상의 이유로 Firebase의 클라이언트 측 JavaScript API는 컬렉션을 나열하는 메커니즘을 제공하지 않습니다. 대상 애플리케이션의 JavaScript 코드를 보고 추측해야 합니다.

Realtime Database: 이 데이터 저장소는 JSON 객체로 표현되므로, 제공된 "[Realtime Database] 데이터 저장소 읽기" 쿼리를 사용하여 전체 내용을 확인할 수 있습니다. 구성된 규칙에 따라 실패할 수도 있습니다.

Firebase Storage에 어떤 파일이 있는지 어떻게 알 수 있나요?

먼저 루트(/)를 나열해 보세요. 보호되어 있다면 테스트 중인 앱이 액세스하는 파일을 확인하세요. /uploads 또는 /images와 같은 폴더를 시도해 볼 수 있습니다.

이전 쿼리 결과를 볼 수 있나요?

Baserunner 페이지에는 최신 쿼리 결과만 표시되지만, 모든 결과는 브라우저 콘솔에 기록됩니다.

Realtime Database 쿼리를 실행할 때 클라이언트가 오프라인이라는 오류가 발생합니다.

쿼리를 다시 실행해 보세요.

Google로 로그인하려면 어떻게 해야 하나요?

  1. 앱의 Google OAuth 클라이언트 ID(예: NUMERIC_STR-ALPHANUMERIC_STR.apps.googleusercontent.com)를 찾으세요. 사이트에서 "Google로 로그인"을 클릭하고 HTML을 검사한 다음 apps.googleusercontent.com을 검색하면 됩니다.

  2. DNS 파일(/etc/hosts - Linux 및 macOS, C:\Windows\system32\drivers\etc\hosts - Windows)을 편집하고 다음 줄을 추가하세요:

root@kitploit:~
127.0.0.1 PROJECT_ID.firebaseapp.com
  1. Baserunner 디렉터리에서 다음 명령을 실행하여 자체 서명 인증서를 생성하세요:
root@kitploit:~
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./selfsigned.key -out selfsigned.crt

프롬프트에서 모든 필드를 비워둘 수 있지만, Common Name (예: 서버 FQDN 또는 본인 이름) []은 PROJECT_ID.firebaseapp.com으로 설정하세요.

  1. 브라우저 설정에서 PROJECT_ID.firebaseapp.com과 관련된 모든 웹사이트 데이터를 지우세요(또는 새 브라우저 사용). 이는 인증서 불일치(HSTS)로 인해 브라우저가 연결을 차단하는 것을 방지하기 위함입니다.

Baserunner에 사용 중인 브라우저에서 DNS-over-TLS 또는 DNS-over-HTTPS를 사용하는 경우, Firebase에서 Google 로그인에 필요한 출처를 스푸핑하기 위해 일시적으로 비활성화하세요.

  1. npm run startssl을 사용하여 Baserunner를 실행한 다음 브라우저에서 https://PROJECT_ID.firebaseapp.com을 로드하세요.

  2. 1단계에서 찾은 Google OAuth 클라이언트를 "Google로 로그인" 아래의 필드에 입력하고 "Google 클라이언트 ID 설정"을 클릭하세요.

  3. Google 로그인 버튼을 클릭하고 앱에 등록한 Google 계정으로 로그인하세요.

  4. "Google 로그인 설정" 버튼을 클릭하세요.

  5. 일반 Google 계정이 아닌 경우와 마찬가지로 데이터베이스를 탐색하세요.

  6. 보안 테스트가 끝나면 DNS 파일에서 2단계의 줄을 제거하세요.

도구 다운로드