Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
xssearch — Rust 기반 XSS 스캐너로, 컨텍스트 인식 페이로드 선택, WAF 탐지 및 우회, 크롤링, 블라인드 XSS 콜백, 정적 DOM 싱크 분석 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/affolter-engineering/xssearch
ReconnaissanceStatic AnalysisVulnerability ScannersWeb Vulnerability ScannersPayload GenerationWeb Application ExploitationInformation GatheringWAF BypassWeb SecurityPenetration TestingRed Teaming
21371일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Crawler
GitHubaffolter-engineering/xssearch

xssearch

Rust 기반 XSS 스캐너로, 컨텍스트 인식 페이로드 선택, WAF 탐지 및 우회, 크롤링, 블라인드 XSS 콜백, 정적 DOM 싱크 분석 기능을 제공합니다.

저장소 보기

xssearch

Rust로 작성된 고급 XSS 탐지 도구로, 컨텍스트 인식 페이로드 인텔리전스와 주입 범위를 결합합니다.

이 도구는 XSStrike와 XSSER에서 영감을 받았습니다. 페이로드는 다양한 출처에서 수집했습니다:

  • https://github.com/ardakocadoru/xss-cheatsheet
  • https://github.com/Proviesec/xss-payload-list
  • https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html
  • https://github.com/swisskyrepo/PayloadsAllTheThings

감사합니다 여러분, 멋지십니다 ❤️

경고: 본인이 소유하거나 명시적인 서면 테스트 승인을 받은 시스템에만 사용하십시오.

기능

  • 컨텍스트 인식 스캐닝 - 각 파라미터를 먼저 프로빙하여 값이 어디에 반사되는지(HTML 본문, 속성, JavaScript, 주석, <title>, <textarea> 등) 탐지하고, 무작정 모든 페이로드를 발사하는 대신 해당 컨텍스트에 가장 적합한 페이로드를 선택합니다
  • 100개 이상의 내장 페이로드 - HTML 태그, 속성 브레이크아웃, JS 주입, 폴리글롯, DOM 싱크, WAF 우회 변형
  • WAF 탐지 및 우회 - Cloudflare, ModSecurity, Sucuri, Imperva, Akamai, AWS WAF, F5 BIG-IP, Barracuda, Wordfence를 핑거프린팅하고, WAF별 우회 변환(대소문자 변형, 주석 삽입, 제로폭 문자 및 인코딩)을 적용합니다
  • 크롤러 - 링크와 폼을 스파이더링하여 주입 가능한 파라미터를 자동으로 발견합니다
  • 헤더 및 쿠키 주입 - Referer, User-Agent, X-Forwarded-For, X-Real-IP 및 기타 헤더와 쿠키 값을 테스트합니다
  • 블라인드 XSS - 지연 실행 시나리오(관리자 패널, 로그 뷰어 등)를 위해 모든 싱크에 대역 외 콜백 페이로드(Burp Collaborator, interactsh 호환)를 주입합니다
  • DOM XSS 분석 - innerHTML, eval, document.write, location.href, jQuery .html() 및 기타 위험한 싱크를 소스 탐지와 함께 정적으로 검사합니다
  • 페이로드 인코딩 - URL, 이중 URL, HTML 엔티티, 유니코드 및 base64/eval 인코딩을 조합 가능한 플래그로 제공합니다
  • JSON 출력 - 다른 도구와의 통합을 위한 구조화된 발견 사항
  • Markdown 보고서 - 심각도 요약 표, 발견 사항별 상세 섹션, 빠른 참조 표를 포함한 사람이 읽을 수 있는 보고서로, 위키에 붙여넣거나 티켓에 첨부할 수 있습니다
  • 순수 Rust/rustls - OpenSSL 의존성 없음, 단일 정적에 가까운 바이너리

설치

소스에서 (Nix)

git clone https://github.com/fabian-affolter/xssearch
cd xssearch
nix-shell --run "cargo build --release"
# binary: target/release/xssearch

LTO와 심볼 제거를 적용한 릴리스 빌드:

nix-shell --argstr release true --run "$BUILD"

소스에서 (표준)

Rust 1.75 이상이 필요합니다.

cargo build --release

Nixpkgs

Nix 또는 NixOS 사용자를 위한 패키지가 제공됩니다. 최신 릴리스는 unstable 채널에만 있을 수 있다는 점을 유의하십시오.

nix-env -iA nixos.xssearch

사용법

xssearch [OPTIONS] <--url <URL> | --file <URLS_FILE>>

옵션

플래그설명
-u, --url <URL>대상 URL. FUZZ를 사용하여 사용자 지정 주입 지점을 표시합니다
-f, --file <FILE>한 줄에 하나의 URL이 있는 파일
-d, --data <DATA>POST 본문. FUZZ를 사용하여 주입 지점을 표시합니다
-H, --header <H>추가 요청 헤더, 반복 가능
--cookie <COOKIE>쿠키 문자열
--proxy <URL>HTTP/HTTPS 프록시
--timeout <N>요청 타임아웃(초) (기본값: 10)
--user-agent <UA>사용자 지정 User-Agent
--follow-redirectsHTTP 리다이렉트를 따릅니다
--threads <N>동시 요청 수 (기본값: 2)
--delay <MS>요청 간 지연(밀리초)
--crawl대상에서 링크와 폼을 스파이더링합니다
--crawl-depth <N>크롤 깊이 (기본값: 3)
--headers-inject일반적인 HTTP 헤더를 주입 지점으로 테스트합니다
--cookie-inject쿠키 값을 주입 지점으로 테스트합니다
--blind <URL>블라인드 XSS 콜백 URL
--dom정적 DOM XSS 싱크 분석
--fuzz반사 컨텍스트와 관계없이 모든 페이로드를 발사합니다
--payload-set <SET>all | html | js | attr | poly | dom | mxss | waf (기본값: all)
--payloads-file <FILE>사용자 지정 페이로드 파일, 한 줄에 하나씩
--encode <LIST>쉼표로 구분된 인코딩: url,html,unicode,double,base64
--prefix <STR>모든 페이로드 앞에 문자열을 추가합니다
--suffix <STR>모든 페이로드 뒤에 문자열을 추가합니다
--waf-detect스캔 전에 WAF를 핑거프린팅합니다
--waf-bypass페이로드에 WAF 우회 변환을 적용합니다
--output-json <FILE>발견 사항을 JSON 파일에 기록합니다
--output-md <FILE>발견 사항을 Markdown 파일에 기록합니다
-v, --verbose상세 출력 (컨텍스트, 모든 프로브 표시)
-V, --version버전을 출력하고 종료합니다

예제

기본 GET 파라미터 스캔

xssearch -u "https://example.com/search?q=test"

POST 폼

xssearch -u "https://example.com/login" -d "user=admin&pass=FUZZ"

루트에서 크롤, WAF 탐지, 헤더 테스트

xssearch -u "https://example.com/" --crawl --waf-detect --headers-inject -v

URL + HTML 인코딩을 사용한 WAF 우회

xssearch -u "https://example.com/?q=FUZZ" --waf-detect --waf-bypass --encode url,html

interactsh 콜백을 사용한 블라인드 XSS

xssearch -u "https://example.com/contact" -d "msg=FUZZ" \
  --blind "https://abc123.oast.fun/xssearch"

DOM XSS 정적 분석만 수행

xssearch -u "https://example.com/app" --dom --no-banner

결과를 JSON으로 저장

xssearch -u "https://example.com/?q=test" --output-json results.json

결과를 Markdown으로 저장

xssearch -u "https://example.com/?q=test" --output-md report.md

두 형식을 한 번에 저장

xssearch -f targets.txt --crawl --waf-detect --output-json results.json --output-md report.md

Burp Suite를 통한 프록시

xssearch -u "https://example.com/?q=test" --proxy http://127.0.0.1:8080 -v

테스트

로컬 최소 대상

도구를 검증하는 가장 빠른 방법은 의도적으로 취약한 Python 서버를 로컬에서 실행하는 것입니다:

python3 - <<'EOF'
import http.server, urllib.parse

class H(http.server.BaseHTTPRequestHandler):
    def log_message(self, *a): pass
    def do_GET(self):
        p = urllib.parse.urlparse(self.path)
        q = urllib.parse.parse_qs(p.query)
        val = q.get('q', [''])[0]
        body = f'<html><body><p>Search: {val}</p></body></html>'.encode()
        self.send_response(200)
        self.send_header('Content-Type', 'text/html')
        self.end_headers()
        self.wfile.write(body)

http.server.HTTPServer(('127.0.0.1', 9999), H).serve_forever()
EOF

그런 다음 스캔합니다:

xssearch -u "http://127.0.0.1:9999/?q=test" -v

예상 출력: HTML 컨텍스트 페이로드와 함께 [Vuln] XSS in 'q'.

로컬 Docker 대상

이 이미지들은 보안 도구 테스트를 목적으로 제작되었으며 실제 사용자 데이터를 포함하지 않습니다.

DVWA (Damn Vulnerable Web Application)

docker run -d -p 8080:80 vulnerables/web-dvwa
# Set security level to Low in the UI first
xssearch -u "http://localhost:8080/vulnerabilities/xss_r/?name=test" \
  --cookie "PHPSESSID=<your-session>; security=low"

OWASP WebGoat

docker run -d -p 8081:8080 webgoat/goat-and-wolf
xssearch -u "http://localhost:8081/WebGoat/" --crawl --crawl-depth 2 -v

OWASP Juice Shop

docker run -d -p 3000:3000 bkimminich/juice-shop
xssearch -u "http://localhost:3000/" --crawl --dom -v

bWAPP

docker run -d -p 8082:80 raesene/bwapp
# Activate bWAPP at http://localhost:8082/install.php first
xssearch -u "http://localhost:8082/xss_get.php?firstname=test&lastname=test" \
  --cookie "PHPSESSID=<your-session>; security_level=0"

공개 의도적 취약 대상

이 사이트들은 보안 도구 테스트를 위해 특별히 제공됩니다. 인증이나 설정이 필요하지 않습니다.

대상URLXSS 진입점
Acunetix 테스트 사이트http://testphp.vulnweb.com/search.php?test=, 아티스트 댓글, 검색 폼
IBM Altoro Mutualhttp://demo.testfire.net/검색 파라미터, 피드백 폼
HP WebInspect 데모http://zero.webappsecurity.com/로그인 폼, 검색, 계정 필드
Google Gruyerehttps://google-gruyere.appspot.com/스니펫, 프로필 필드 (인스턴스 URL 필요)

Acunetix 테스트 사이트

검색 파라미터 (반사형 XSS):

xssearch -u "http://testphp.vulnweb.com/search.php?test=query" \
  --waf-detect -v

헤더 주입을 포함한 전체 크롤:

xssearch -u "http://testphp.vulnweb.com/" \
  --crawl --crawl-depth 3 \
  --headers-inject \
  --dom \
  --output-json testphp-findings.json

IBM Altoro Mutual

검색 폼:

xssearch -u "http://demo.testfire.net/search.aspx?txtSearch=test" \
  --waf-detect --fuzz -v

HP WebInspect 데모

루트에서 크롤:

xssearch -u "http://zero.webappsecurity.com/" \
  --crawl --crawl-depth 2 \
  --waf-detect \
  --output-json zero-findings.json

Google Gruyere

먼저 개인 인스턴스를 시작한 다음 스캔합니다:

# The instance URL is displayed after clicking "Start" on the Gruyere homepage
xssearch -u "https://google-gruyere.appspot.com/<instance-id>/feed.gtl" \
  --dom --crawl -v

공개 대상은 간헐적으로 느리거나 오프라인일 수 있습니다. 요청이 타임아웃되면 --timeout 30을 사용하십시오.

출력

터미널 출력은 색상으로 구분된 레이블을 사용합니다:

레이블의미
[Target]스캔 중인 URL
[WAF]WAF 탐지 결과
[Crawl]크롤러 상태
[Param]테스트 중인 파라미터
[CTX]탐지된 반사 컨텍스트
[Vuln]확인된 발견 사항
[DOM]탐지된 DOM 싱크
[Blind]주입된 블라인드 페이로드

JSON

--output-json으로 기록되며, 발견 사항당 하나의 객체입니다:

도구 다운로드