FixVibe

// 디스커버리 / 스포트라이트

기술 스택 핑거프린팅

스택을 아는 건 정찰의 절반이에요 — 오래된 프레임워크면 나머지 절반까지 채워져요.

What it is

Recon is the first phase of every targeted attack and most opportunistic ones. Tools like Wappalyzer, BuiltWith, and Shodan scan the public internet continuously, mapping which sites run which stacks at which versions. The attacker's worflow: filter for 'sites running vulnerable WordPress 5.x' or 'sites with exposed Spring Boot Actuator', then mass-exploit. Fingerprint defense doesn't prevent attacks, but it raises the cost — the attacker has to probe individually rather than pulling targets from a pre-built database. Combined with prompt patching, fingerprint reduction means the only attackers who reach your stack are the ones already specifically interested.

How it happens

Frameworks and hosts announce themselves in several ways: version banners in response headers such as `X-Powered-By` and `Server`, distinctive session cookie names, framework-specific asset paths, markers inside the JavaScript bundle, and CDN headers. None of these is a secret on its own. Together they tell an attacker which stack you run and often which version, and a version maps straight to published CVEs.

What an attacker gets

Maps your deployment to known CVEs in seconds. An outdated WordPress version surfaces a list of public exploits ranked by severity and exploitation maturity. An old Spring Boot version is potentially Spring4Shell-class RCE. Knowing your edge CDN is knowing which WAF rules to tunnel through (every WAF has known bypasses; targeted attackers research yours specifically). Combined with the CVE-lookup check, fingerprinting is the input that makes targeted exploitation efficient.

// what fixvibe reports

What FixVibe reports

Runs on every URL scan: paste your app's URL, nothing to install. The free preview shows your top findings; Hobby and above unlock the full report. Each finding shows the affected URL or host, its severity and fix steps you can paste into your AI coding tool.

How to fix it

Strip version banners from response headers. Most servers and frameworks ship with an option: nginx `server_tokens off`, Apache `ServerTokens Prod` and `ServerSignature Off`, Express `app.disable('x-powered-by')`, ASP.NET MVC's `<httpRuntime enableVersionHeader='false' />`, Django's `SECURE_BROWSER_XSS_FILTER` and related. Don't expose framework defaults that broadcast identity — `/wp-json/wp/v2/users` listing your editorial team is WordPress doing what WordPress does, but you can disable it. Patch promptly so the version that's identifiable is at least the current one. A CDN with a strong WAF (Cloudflare, AWS Shield, Fastly) helps mask origin identity from drive-by scanners. Audit your bundle for inline references to your stack — many SaaS apps unintentionally include `vite.config.ts` paths or webpack plugin names in error messages. None of these alone is impactful; together they reduce the surface meaningfully.

// 내 앱에서 직접 실행해보세요

FixVibe가 지켜보는 동안 계속 배포하세요.

Paste your app's URL for a free preview. Nothing to install.

디스커버리
133
이 카테고리에서 실행되는 테스트
모듈
16
전용 디스커버리 검사
every URL scan
230+
passive checks on each scan
Scan your URL free →

// 최신 체크 · 실용적인 수정 · 자신 있게 배포

기술 스택 핑거프린팅: what it is and how to fix it · FixVibe