
XSS Fuzzer는 사용자 정의 벡터와 퍼징 리스트를 기반으로 XSS 페이로드를 생성하는 도구입니다.
XSS Fuzzer는 일반 HTML/JavaScript/CSS로 작성된 간단한 애플리케이션으로, 사용자 정의 벡터를 기반으로 XSS 페이로드를 생성하며, 여러 플레이스홀더를 퍼징 리스트로 대체합니다.
페이로드를 일반 텍스트로 생성하거나 iframe 내에서 실행할 수 있는 기능을 제공합니다. iframe 내에서는 생성된 페이로드를 사용하여 브라우저에서 임의의 URL로 GET 또는 POST 요청을 보낼 수 있습니다.
XSS Fuzzer는 다양한 목적에 유용한 일반 도구입니다. 다음을 포함합니다:
퍼징을 수행하려면 플레이스홀더를 생성해야 합니다. 예를 들어:
<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
[SAVE_PAYLOAD] 플레이스홀더는 alert(unescape('[PAYLOAD]')); 와 같은 JavaScript 코드로 대체됩니다. 이 코드는 XSS 페이로드가 성공적으로 실행될 때 트리거됩니다.
위 퍼징 리스트와 페이로드에 대한 결과는 다음과 같습니다:
<svg src=Something onerror=alert(unescape('%3Csvg%20src%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onerror=alert(unescape('%3Csvg%20value%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg src=Something onload=alert(unescape('%3Csvg%20src%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onload=alert(unescape('%3Csvg%20value%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
Mozilla Firefox와 같은 브라우저에서 실행하면 실행된 페이로드가 경고창으로 표시됩니다:
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
XSS에 취약한 페이지를 사용하여 브라우저 XSS Auditor 우회와 같은 다양한 테스트를 수행할 수 있습니다. 해당 페이지는 'payload'라는 GET 또는 POST 파라미터를 받아 이스케이프되지 않은 값을 그대로 표시합니다.
실시간 버전은 https://xssfuzzer.com 에서 확인할 수 있습니다.
애플리케이션은 베타 상태이므로 버그가 있을 수 있습니다. 버그를 신고하거나 제안사항이 있으시면 GitHub 저장소를 이용하거나 contact [a] xssfuzzer.com으로 이메일을 보내주시기 바랍니다.