Lab: Source code disclosure via backup files 백업파일 정보 노출

2026. 2. 14. 23:18·웹해킹

웹 애플리케이션에서 백업 파일을 관리할때, 중요한 소스코드나 설정 정보 등이 유출되는 경우가 있다.

이런 데이터가 외부에서 접근이 가능하면 보안 위협이 될 수도 있고, 특히나

db 정보같은 민감한 정보가 노출되면 공격자에게 많은 무기를 쥐어주게 된다

 

이번 실습에서는 백업 파일에서 소스 코드 파일 유출이 되는 과정을 간단히 알아보겠음 

 


 

초기 화면에서 robots.txt에 접근한다

 

robots.txt란?
웹사이트의 루트 디렉터리에 위치하는 텍스트 파일로, 웹 크롤러 또는 검색 엔진 봇 (예: Googlebot, Bingbot 등)에게 특정 페이지나 리소스를 크롤링하지 않도록 지시하는 데 사용함. 웹사이트의 SEO(검색엔진 최적화)와 관련이 있으며, 검색 엔진이 웹사이트의 페이지를 인덱싱하는 방식을 제어하는 역할을 한다.
주로 user-agent, disallow 등의 지시어가 있지만, 이를 악용해서 숨겨진 경로를 찾아내는 시도를 할 수 있다.

User-agent:* 는 모든 웹 크롤러에 동일한 지시를 한다는 것

Disallow: /backup 은 해당 경로에 접근하지 말라는 뜻

 

하지만! 이는 크롤러에게 지시를 하는것이지 접근을 막는 기능은 없기 때문에

브라우저에서 직접 입력하면 접근이 가능할 수 있음

다만 서버 차원에서 보안 설정으로 접근을 막는 경우도 많음

 

암튼 위에서 찾은 /backup 경로를 접근하니까

자바로 작성된 백업 파일을 찾았다

 

실제로는 이렇게 수월하게 찾을 가능성이 낮지만

이렇게 파헤치다보면 취약점이 발견되는 경우가 종종 있음

 

 

 

자바 언어로 작성된 백업파일을 찾았다

특히 readObject 쪽을 보면 postgres 데이터베이스에 연결을 시도하는 코드가 있다

 

ConnectionBuilder 
: PostgreSQL 드라이버로 연결 정보를 설정하고, 데이터베이스 URL, 사용자명, 비밀번호를 포함한 연결을 설정

 

 

  • withAutoCommit()은 트랜잭션이 자동으로 커밋되도록 설정
  • connect(30)은 연결 시도 횟수를 30으로 설정

이외에 localhost 포트 번호 5432 그리고 postgres 아래에 키 값으로 보이는 문자열이 있음

이게 이번 실습 랩의 답인것 같다

 

 

 

정답! 

 

 

 

이렇게 백업 파일을 비롯해서 중요한 백엔드 소스코드, 특히 이번처럼

DB 연결과 연관된 정보가 외부에 노출될 경우에는 큰 보안 사고로 이어질 수 있음

 

보호하는 기업의 관점에서는 백업 파일과 하드코딩된 pw 등의 민감한 정보를 

웹 서버가 아닌 별개의 디렉터리에 저장하거나 .gitignore 및 웹 서버 설정에서 제외해야 함

 

해커의 입장이라면 robots.txt에서 발견된 경로 중 혹시 보안 설정이 안된게 있다면

그중에서 찾아내 허점을 찾아내는 것이 가능할것 같다

 


조치방법

1. 소스코드에서 하드코딩 제거

- 환경 변수 사용해서 코드 외부에서 관리

- config 파일을 사용해서 관리하고 암호화까지 거치기

 

2. 민감한 파일 노출 방지하기

- Nginx 같은 웹 서버에서는 .htaccess 파일을 사용해서 접근 제한이 가능함

- 백업 파일 암호화

 

위에서 발견된 취약점에 대해서는 이 정도 방법을 사용하면

취약점 조치가 가능할것 같다.

 

'웹해킹' 카테고리의 다른 글

Lab: Exploiting a mass assignment vulnerability 실습/Mass assignment 취약점  (0) 2026.02.15
[웹 해킹] HTTP 헤더 취약점을 사용한 Host header authentication bypass  (0) 2025.09.20
[웹 해킹] API 엔드포인트 :: Finding and exploiting an unused API endpoint 실습  (1) 2025.08.24
[웹 해킹] API 개념과 문서화 :: Exploiting an API endpoint using documentation 실습  (1) 2025.08.22
OS command injection 취약점/Lab: OS command injection, simple case 실습  (0) 2025.05.06
'웹해킹' 카테고리의 다른 글
  • Lab: Exploiting a mass assignment vulnerability 실습/Mass assignment 취약점
  • [웹 해킹] HTTP 헤더 취약점을 사용한 Host header authentication bypass
  • [웹 해킹] API 엔드포인트 :: Finding and exploiting an unused API endpoint 실습
  • [웹 해킹] API 개념과 문서화 :: Exploiting an API endpoint using documentation 실습
이둥둥
이둥둥
"><script>prompt(document.cookie)</script>
  • 이둥둥
    시골쥐 해커
    이둥둥
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 방통대
      • 리버싱
      • 웹해킹 N
      • 악성코드 분석
      • Defensive
      • 네트워크
      • 포렌식
      • Writeup
      • 사이버보안
      • 정보처리기사
      • Troubleshooting
      • 취준
  • 블로그 메뉴

    • 홈
    • 사이버보안
    • 방통대
    • 독후감
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hackthebox
    리버싱
    독후감
    악성코드분석
    CTF
    사이버보안
    tryhackme
    burpsuite
    웹해킹
    정보보안
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이둥둥
Lab: Source code disclosure via backup files 백업파일 정보 노출
상단으로

티스토리툴바