웹 애플리케이션 방화벽(WAF)이 일반적인 공격 벡터로부터 얼마나 잘 보호하는지 테스트할 수 있는 강력한 웹 애플리케이션입니다.
→ waf-checker.com ←

기능
보안 테스트
- 19개 이상의 공격 카테고리 기본 제공: SQL Injection, XSS, Path Traversal, Command Injection, SSRF, NoSQL Injection, LFI, LDAP Injection, XXE, SSTI, CRLF 등
- 9개의 고급 우회 카테고리: 인코딩 변형, 프로토콜 스머글링, 프레임워크 특화 페이로드 포함
- 344개 이상의 페이로드를 PAPAMICA/waf-payloads에서 동적으로 로드
- 오탐(False Positive) 테스트로 정상 트래픽이 차단되지 않는지 확인
- HTTP 메서드 테스트: GET, POST, PUT, DELETE
WAF 탐지 및 우회
- 자동 WAF 탐지 — Cloudflare, AWS WAF, Imperva, ModSecurity, Akamai, F5 BIG-IP 등 15개 이상의 WAF 식별
- 고급 우회 기법 — 이중 인코딩, 유니코드, 대소문자 혼합, 주석 난독화
- WAF별 우회 페이로드 생성 — 탐지된 WAF에 맞춘 전략 제공
- HTTP 조작 테스트 — Verb Tampering, Parameter Pollution, Content-Type 혼동, Request Smuggling
전체 정찰(Reconnaissance)

- 기술 지문 인식 — CMS 탐지(WordPress, Drupal, Joomla, Shopify 등), 프레임워크, 웹 서버, CDN/WAF, 분석 도구, 25개 이상의 JavaScript 라이브러리
- DNS 분석 — A, AAAA, CNAME, MX, NS, TXT, SOA 레코드 및 인프라 탐지
- WHOIS 및 IP 지리 정보 — ISP, 조직, ASN, 위치, 역방향 DNS(PTR)
- 서브도메인 발견 — 인증서 투명성 로그(crt.sh) 및 DNS 브루트포스
- 역방향 IP 조회 — 동일 IP에서 호스팅되는 모든 도메인 발견(공유 호스팅 탐지)
- SSL/TLS 인증서 세부 정보 — 발급자, 유효 기간, 주체 대체 이름(SAN), 일련 번호
- CMS 심층 분석 — WordPress 테마, 플러그인(버전 포함), Drupal 모듈
- 경로 프로빙 — robots.txt, sitemap.xml, security.txt, 일반적인 관리자 경로
- 쿠키 분석 — Secure, HttpOnly, SameSite 플래그
- Open Graph 및 소셜 메타데이터 추출
- RSS/Atom 피드 및 이메일 주소 발견
- 결과 내보내기: JSON, HTML 보고서 또는 스크린샷(PNG)
보안 헤더 감사

- 등급 점수(A+ ~ F)를 통한 HTTP 보안 헤더 평가
- 상세 분석: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- 정보 노출 탐지 — 서버 버전, X-Powered-By 헤더, 디버그 헤더
- 누락되거나 잘못 구성된 각 헤더에 대한 실행 가능한 권장 사항
- 결과 내보내기: JSON, HTML 보고서 또는 스크린샷(PNG)
속도 테스트

- 성능 점수(0–100) 및 문제 개수와 상태 표시
- Lighthouse 스타일 점수(로컬 추정) — Performance, Accessibility, Best Practices, SEO
- Core Web Vitals — FCP, LCP, TBT, CLS, Speed Index, TTI (색상으로 구분된 피드백)
- 시간 분석 — DNS 조회, TTFB, 다운로드, 총 로드 시간
- 크기 분석 — 총 페이지 무게 및 유형별(HTML, JavaScript, 이미지, 폰트)
- 최적화 조언 및 패널티/개선 힌트
- 결과 내보내기: JSON, HTML 보고서 또는 스크린샷(PNG)
DNS / WHOIS 인텔리전스

- 완전한 DNS 해석 — A, AAAA, CNAME, MX, NS, TXT 레코드
- WHOIS 데이터 — IP 위치 정보, ISP, ASN, 역방향 DNS 포함
- 이메일 보안 감사 — SPF 및 DMARC 검증
- 서브도메인 열거 — 인증서 투명성 + DNS 브루트포스
- 역방향 IP 조회 — 동일 IP 주소를 공유하는 모든 도메인
- 인프라 탐지 — 레코드 패턴을 통한 CDN, 이메일, DNS 제공업체 식별
- 결과 내보내기: JSON, HTML 보고서 또는 스크린샷(PNG)
SEO 감사

- 전체 SEO 점수(0–100) 및 통과/전체 검사 수
- 카테고리별 점수 — Meta Tags, Technical, Indexability, Content, Performance, Social, Links, URL, Accessibility
- 메타 태그 확인 — title, description, viewport, canonical, language, charset, favicon, DOCTYPE, robots
- Sitemap 및 robots.txt 분석, 페이지 발견, 구조화된 데이터(JSON-LD)
- 콘텐츠 분석 — 단어 수, 가독성, 키워드 밀도, 텍스트 대 HTML 비율
- 링크 감사 — 내부/외부, nofollow, 빈 앵커
- 접근성 검사 — lang, skip nav, ARIA 랜드마크, 양식 레이블
- 결과 내보내기: JSON, HTML 보고서 또는 스크린샷(PNG)
실시간 결과

- Server-Sent Events(SSE) 를 통한 스트리밍 결과 — 결과가 들어오는 대로 확인
- 색상 코드 상태 코드:
403 초록 — WAF가 공격을 차단함(보호됨)
200 빨강 — 페이로드 통과(취약함)
3xx 주황 — 리디렉션(조사 필요)
4xx 노랑 — 기타 클라이언트 오류
- 상태 코드별 필터링 가능 및 실시간 요약 막대
HTTP 상태 참조

페이로드 구성
기본 제공 구성 패널을 통해 완전히 사용자 정의 가능한 페이로드 관리:


- 모든 카테고리 및 페이로드 개수 확인
- 개별 페이로드 추가, 편집 또는 제거
- 사용자 정의 카테고리 생성
- 카테고리별 공격 페이로드와 오탐(False Positive) 페이로드 분리
- 페이로드 구성 내보내기/가져오기
- 변경 사항은 localStorage에 유지
보안 분석
점수와 함께 상세한 취약점 평가 보고서 제공:

- WAF 효과 점수 — 차단된 공격 비율
- 위험 수준 평가 — 심각, 높음, 중간, 낮음
- 심각도별 취약점 분류
- 카테고리별 분석 및 우회율
- 실행 가능한 권장 사항
내보내기 및 보고

- JSON, CSV 또는 HTML 보고서로 결과 내보내기
- 요약 보고서가 포함된 전문 HTML 보고서
- 카테고리별 취약점 평가 및 점수
- 스크린샷 지원(PNG, 브랜딩 포함)
- 모든 정찰/감사 기능에서 JSON, HTML, 스크린샷 내보내기 지원
공개 API

- REST API — WAF 체커, 전체 정찰, 보안 헤더, 속도 테스트, SEO 감사, HTTP 조작 등 모든 도구 지원
- 속도 제한 — IP당 분당 1회 요청 (헤더:
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
- 인증 불필요 — 공개 API, URL 자동 정규화
- JSON 응답 —
curl, jq 또는 모든 HTTP 클라이언트 사용; -o file.json으로 저장 가능
- WAF 체커 엔드포인트(
/api/v1/waf-checker) — 전체 고급 옵션: 메서드, 카테고리, 페이지네이션, followRedirect, enhanced/advanced 페이로드, 자동 WAF 탐지, 인코딩 변형, HTTP 조작
- 오류 코드 — 400 (잘못된 매개변수), 404 (찾을 수 없음), 429 (속도 제한), 500/502 (서버/대상 오류)
- 문서 — 앱 내 패널 및 기계 판독 가능
GET /api/v1/docs
배치 테스트
- 최대 100개 URL 동시 테스트
- 진행 상황 추적을 통한 동시 처리
- 우회율 분석이 포함된 URL별 결과
스캔 기록
- 자동 저장 — 브라우저 localStorage에 스캔 결과 저장
- 요약 통계와 함께 과거 스캔 검토 및 보기
- 기록 항목에서 빠른 재스캔
아키텍처
WAF-Checker는 Cloudflare Worker로 정적 자산과 함께 구축되었습니다:
- 백엔드 (
app/src/api.ts) — API 요청, 페이로드 전달, WAF 테스트, 정찰 및 DNS/WHOIS 조회를 처리하는 Worker
- 프런트엔드 (
app/src/static/) — 사이버펑크 UI의 단일 페이지 앱
- 페이로드 — Worker 번들을 깨끗하게 유지하기 위해 런타임에 GitHub에서 동적으로 로드
프로젝트 구조
wrangler.toml # Cloudflare Worker 설정
app/src/
├── api.ts # Main Worker 진입점 및 API 라우트
├── payloads.ts # 페이로드 유형 (GitHub에서 로드된 데이터)
├── advanced-payloads.ts # 인코딩 및 우회 생성 함수
├── encoding.ts # WAF 우회 인코딩 유틸리티
├── waf-detection.ts # WAF 지문 및 탐지
├── http-manipulation.ts # HTTP 프로토콜 조작 기법
├── reporting.ts # 내보내기 및 분석 모듈
├── batch.ts # 배치 테스트 모듈
└── static/
├── index.html # 메인 웹 인터페이스
├── main.js # 프런트엔드 로직 및 UI
├── style.css # 사이버펑크 테마 및 스타일링
└── favicon.svg # 앱 아이콘
시작하기
사전 요구사항
로컬 개발
# 저장소 클론
git clone https://github.com/PAPAMICA/waf-checker.git
cd waf-checker
# 의존성 설치
npm install
# 로컬 개발 서버 시작
npx wrangler dev
브라우저에서 http://localhost:8787을 엽니다.
Cloudflare에 배포
-
Cloudflare 로그인:
-
wrangler.toml 에서 account_id 업데이트
-
배포:
페이로드 확장
페이로드는 별도 저장소에서 관리됩니다: PAPAMICA/waf-payloads
기본 페이로드를 수정하려면:
- payloads.json을 포크 또는 편집
- 사용자 정의 소스를 사용하는 경우
app/src/api.ts의 GITHUB_PAYLOADS_URL 업데이트
웹 인터페이스에서 페이로드 구성을 통해 직접 사용자 정의 페이로드를 추가할 수도 있습니다. 변경 사항은 브라우저의 localStorage에 저장됩니다.
라이선스
MIT
Mickael Asseline 제작