BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
2025-11-24 / 호스트기반모의해킹 · 12
웹 애플리케이션 진단 기초
1. 웹 진단 개요
웹은 인터넷 트래픽 대부분이 오가는 영역이라 진단 비중도 높다. 그래서 첫 단계는 대상 애플리케이션의 구조와 기술 스택을 파악하는 데 맞춰진다.
1.1 Source & Sink 개념
웹 취약점 분석에서는 입력이 들어오는 위치와, 그 입력이 실제로 소비되는 위치를 같이 봐야 한다.
- Source(입력원): 데이터가 유입되는 지점이다. 예를 들면 GET/POST 파라미터, 쿠키, 헤더가 여기에 해당한다.
- Sink(소모지): 유입된 데이터가 실행되거나 반영되는 지점이다. 예를 들면
eval(), SQL 쿼리, echo가 있다.
- 진단 전략: Source에 입력을 넣고, Sink에서 의도하지 않은 동작이 생기는지 확인하는 식으로 본다.
2. 필수 도구: Burp Suite
Burp Suite는 HTTP 요청과 응답을 가로채고 조작할 수 있는 대표 프록시 도구다.
- Proxy: 브라우저와 서버 사이의 트래픽을 중계하고, 필요한 경우 변조한다.
- Repeater: 특정 요청을 반복해서 수정하고 다시 보내는 데 쓴다.
- Intruder: 페이로드를 자동으로 대입해 퍼징(Fuzzing)이나 브루트 포스를 수행할 때 쓴다.
3.1 기술 스택 및 버전 식별(Fingerprinting)
서버 헤더나 HTML 소스를 보면 백엔드 기술 스택을 어느 정도 짐작할 수 있다.
- Response Header:
Server: Apache/2.4.41, X-Powered-By: PHP/7.4 같은 값이 단서가 된다.
- HTML Meta Tag:
<meta name="generator" content="WordPress 5.8">처럼 생성기 정보가 노출되기도 한다.
- 도구:
Wappalyzer 같은 브라우저 확장을 같이 쓰면 정리가 쉽다.
3.2 robots.txt 분석
robots.txt는 검색 엔진 크롤러에게 특정 경로를 수집하지 말라고 알려 주는 파일이다.
공격자 관점에서는 개발자가 숨기고 싶어 한 경로가 그대로 드러나는 경우가 있어 유용한 단서가 된다. 예를 들어 Disallow: /admin-secret/ 같은 값은 우선 확인 대상이 된다.
3.3 디렉토리 브루트 포싱(Directory Brute Forcing)
공개되지 않은 디렉토리나 파일을 사전 기반 대입으로 찾는 방식이다.
대표적으로 GoBuster를 많이 쓴다.
- 기본 명령
gobuster dir -u [Target_URL] -w [Wordlist_Path]
- 확장자 탐색(
-x)
특정 기술 스택(PHP, JSP 등)의 파일까지 보려면 확장자 옵션을 같이 쓴다.
gobuster dir -u http://10.10.10.10 -w common.txt -x php,txt,bak
- 상태 코드 필터링(
-s)
404 같은 불필요한 응답을 제외하고 유효한 응답만 추려 볼 때 쓴다.
gobuster dir -u ... -s 200,301,302
4. 실무에서는?
실무에서는 아래 정도를 먼저 챙긴다.
- 재귀적 스캔(Recursive Scan) 주의
GoBuster는 기본적으로 재귀 스캔을 하지 않는다. 재귀 스캔은 트래픽을 급격히 늘려 DoS를 유발할 수 있으므로, 의심 경로만 골라 수동으로 다시 보는 편이 안전하다.
- 스레드(Thread) 조절
속도를 높이겠다고 스레드를 과하게 올리면, 특히 구형 WAS 쪽에서 장애가 날 수 있다. 보통 10~50 정도로 안정성을 먼저 본다.
- 기술 스택 맞춤형 사전
PHP 서버에서 JSP 확장자를 찾는 식의 무의미한 대입은 리소스 낭비다. 앞 단계에서 식별한 스택에 맞춰 -x 옵션을 맞추는 게 좋다.