{"id":766,"date":"2020-11-26T15:54:28","date_gmt":"2020-11-26T15:54:28","guid":{"rendered":"https:\/\/knoxss.pro\/?page_id=766"},"modified":"2025-09-30T13:50:38","modified_gmt":"2025-09-30T13:50:38","slug":"knoxss-coverage","status":"publish","type":"page","link":"https:\/\/knoxss.pro\/?page_id=766","title":{"rendered":"KNOXSS Coverage"},"content":{"rendered":"<p>This is not an exhaustive list since there are variations of some of the following but here are the XSS cases currently covered by KNOXSS v3+ series.<\/p>\n<p>Also check <strong><a href=\"https:\/\/knoxss.pro\/?page_id=3308\" target=\"_blank\" rel=\"noopener\">how KNOXSS compares to other tools<\/a><\/strong> in these cases.<\/p>\n<p>&nbsp;<\/p>\n<h3>Source-Based XSS Test Cases<\/h3>\n<p><strong>Single Reflection Using QUERY of URL<\/strong><\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/xss.php?a=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - HTML Injection (a)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b1=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - HTML Injection Inline with Double Quotes (b1)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b2=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - HTML Injection Inline with Single Quotes (b2)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b3=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - HTML Injection Inline with Double Quotes: No Tag Breaking (b3)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b4=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - HTML Injection Inline with Single Quotes: No Tag Breaking (b4)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b5=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - HTML Injection Inline with Double Quotes: No Tag Breaking on Input Hidden (b5)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?b4=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - HTML Injection Inline with Single Quotes: No Tag Breaking on Input Hidden (b6)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c1=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 08 - HTML Injection with Single Quotes in JS Block (c1)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c2=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 09 - HTML Injection with Double Quotes in JS Block (c2)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c3=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 10 - JS Injection with Single Quotes (c3)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c4=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 11 - JS Injection with Double Quotes (c4)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c5=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 12 - Escaped JS Injection with Single Quotes (c5)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xss.php?c6=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 13 - Escaped JS Injection with Double Quotes (c6)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/lab\/inside-handler.php?p=strArg\" target=\"_blank\" rel=\"noopener\">Case 14 - JS Injection In Event Handler (No Handler Breaking)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/input-formats.php?url2=https:\/\/google.com\/search?q=knoxss\" target=\"_blank\" rel=\"noopener\">Case 15 - JS Injection in Fully Validated Anchor (Href)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/xml.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 16 - XML Injection with CDATA and Comment Breakout (p, q &amp; r)<\/a><\/p>\n<p><strong>Single Reflection Using PATH of URL (\"friendly URLs\")<\/strong><\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/xss.php\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - HTML Injection Inline PHP_SELF<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/html\/l1\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - HTML Injection 1 Level Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/html\/l2\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - HTML Injection 2 Levels Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/html\/l3\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - HTML Injection 3 Levels Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l1\/htmli\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - HTML Injection in Script Block 1 Level Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l2\/htmli\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 06 - HTML Injection in Script Block 2 Levels Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l3\/htmli\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 07 - HTML Injection in Script Block 3 Levels Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l1\/jsi\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 08 - JS Injection in Script Block 1 Level Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l2\/jsi\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 09 - JS Injection in Script Block 2 Levels Deep<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/path\/js\/l3\/jsi\/a\/b\/c\" target=\"_blank\" rel=\"noopener noreferrer\">Case 10 - JS Injection in Script Block 3 Levels Deep<\/a><\/p>\n<p><strong>Multi Reflection<\/strong><\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/multi\/double-html.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - Double Injection in HTML Context with Double Quotes<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/multi\/double-mixed.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - Double Injection in Mixed Context (HTML + JS) with Default Quotes<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/multi\/js-inline.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - Quoteless Inline Double Injection in JS variables<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/multi\/js-object.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - Quoteless Inline Double Injection in JS object<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/multi\/js-object2.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - Quoteless Inline Double Injection in JS object with Nested Array<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/multi\/js-object3.php?p=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 06 - Quoteless Inline Double Injection in JS object with Nested Function<\/a><\/p>\n<p><strong>Special Cases<\/strong><\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/tests\/double-enc.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - HTML Injection with Double Encoded Bypass<\/a><br \/>\n<a href=\"http:\/\/testphp.vulnweb.com\/listproducts.php?cat=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - HTML Injection with SQLi Error-Based *<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/email.php?email=any@domain.tld\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - HTML Injection with PHP FILTER_VALIDATE_EMAIL Bypass<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/keys.php?key32=3b05303ded4f2f09723cb4ae57ff44fd\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - HTML Injection with Strict-Length Input (32, 40 and 64 chars)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/strip.php?user_name=tester\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - HTML Injection with Strip-based Bypass (AFB)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/spell\/?q=hllo\" target=\"_blank\" rel=\"noopener noreferrer\">Case 06 - HTML Injection with Spell Checking Bypass<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/base64.php?p=Z3Vlc3Q=\" target=\"_blank\" rel=\"noopener noreferrer\">Case 07 - HTML Injection with Base64 Encoded Input<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/server-guessing.php\" target=\"_blank\" rel=\"noopener noreferrer\">Case 08 - HTML Injection with Parameter Guessing (Server Side)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/client-guessing.php\" target=\"_blank\" rel=\"noopener noreferrer\">Case 09 - HTML Injection with Parameter Guessing (Client Side)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/pname.php?any=1\" target=\"_blank\" rel=\"noopener noreferrer\">Case 10 - HTML Injection in Parameter Name<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/lab\/multix0.php?p=1&amp;q=2\" target=\"_blank\" rel=\"noopener noreferrer\">Case 11 - Multi Context Injection with Bypass on Alpha-based Filter and JSON Encode Function (2 Different Entry Points)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/lab\/crlf.php?p=myStr\" target=\"_blank\" rel=\"noopener\">Case 12 - HTML Injection with CRLF in HTTP Header (Content-Type Replacement)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/byte.php?p=any\" target=\"_blank\" rel=\"noopener\">Case 13 - HTML Injection with Byte Fallback (WAF Bypass in Java)<\/a><\/p>\n<p><strong>SSRF-Based Cases (also Blind)<\/strong><\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/lab\/ssrf.php?url=https:\/\/thehackernews.com\/\" target=\"_blank\" rel=\"noopener\">Case 01 - XHTML Injection via File Rendering (Remote File Inclusion)<\/a><\/p>\n<h3>DOM-based XSS Test Cases<\/h3>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/dom\/sinks.html?name=KNOXSS\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - DOM Injection via URL Parameter (Document Sink)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/sinks.html?redir=sinks.html\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - DOM Injection via Open Redirection (Location Sink)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/sinks.html?index=NASDAQ\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - DOM Injection via URL Parameter (Execution Sink)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/cors\/#home.html\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - DOM Injection via AJAX in URL Fragment (Document Sink)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/angularjs-notag.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - DOM Injection via AngularJS Library versions 1.6.0+<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/bootstrap4.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 06 - DOM Injection via Bootstrap Library versions 4.0.0, 4.1.0 and 4.1.1<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/wp-search.php?search=xss\" target=\"_blank\" rel=\"noopener noreferrer\">Case 07 - DOM Injection via Attribute Value Bypassing Whitelist Filter (Wp_Kses)<\/a><\/p>\n<h3>Hybrid XSS (Source + DOM) Test Cases<\/h3>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/dom\/dom.php?p=KNOXSS\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - JS Injection Sanitized in Source<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/properties.php?prop=any\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - JS Injection with Single Quotes Fixing ReferenceError - Object Hoisting (also with Double Quotes and Escaped variations)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/dom\/undefined2.php?value=any\" target=\"_blank\" rel=\"noopener\">Case 03 - JS Injection with Single Quotes Fixing ReferenceError - Hoisting Override (also with Double Quotes and Escaped variations, inline and multiline)<\/a><\/p>\n<h3>CSP Bypass Test Cases<\/h3>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/csp\/csp-unsafe-inline.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - CSP Bypass with Unsafe Inline Directive<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/csp\/csp-base-uri.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - CSP Bypass with Base URI Against Nonce-based Scripts<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/csp\/csp-data-whitelist.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - CSP Bypass with Data URI Directive<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/csp\/csp-googleapis-whitelist.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - CSP Bypass with Whitelisted Endpoint (www.googleapis.com) via JSONP<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/csp\/csp-googleapis-whitelist-2.php?p=guest\" target=\"_blank\" rel=\"noopener noreferrer\">Case 05 - CSP Bypass with Whitelisted Endpoint (ajax.googleapis.com) via Library Inclusion (unsafe-eval)<\/a><\/p>\n<h3>Stored XSS Test Cases<\/h3>\n<p><a href=\"http:\/\/X55.is:6081\/lab\/header.php\" target=\"_blank\" rel=\"noopener\">Case 01 - HTML Injection via Cached Header Reflection (Varnish)<\/a><\/p>\n<h3>Authenticated XSS Test Cases<\/h3>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/session\/login.php\" target=\"_blank\" rel=\"noopener\">Case 01 - HTML Injection in Cookie-Based Authenticated Page<\/a><\/p>\n<h3>Blind XSS Test Case<\/h3>\n<p><strong>Directions for Testing<\/strong><\/p>\n<p>1. Feed KNOXSS with the following page to drop your Blind XSS payload.<\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/blind\/text1.php?mytext=hello\" target=\"_blank\" rel=\"noopener noreferrer\">Stored Text - Attacker's Input (click)<\/a><\/p>\n<p>2. Open the victim's page simulating his\/her access. An email with report will come to your inbox.<\/p>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/blind\/text2.php\" target=\"_blank\" rel=\"noopener noreferrer\">Stored Text - Victim's Triggering (click)<\/a><\/p>\n<h3>Open Redirect<\/h3>\n<p><a href=\"https:\/\/x55.is\/brutelogic\/tests\/client-redir.php?url=any\" target=\"_blank\" rel=\"noopener noreferrer\">Case 01 - Client Side Open Redirect<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/server-redir.php?url=any\" target=\"_blank\" rel=\"noopener noreferrer\">Case 02 - Server Side Open Redirect<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/client-redir2.php?url=https:\/\/x55.is\/any\" target=\"_blank\" rel=\"noopener noreferrer\">Case 03 - Client Side Open Redirect (Filtered Same Domain)<\/a><br \/>\n<a href=\"https:\/\/x55.is\/brutelogic\/tests\/server-redir2.php?url=https:\/\/x55.is\/any\" target=\"_blank\" rel=\"noopener noreferrer\">Case 04 - Server Side Open Redirect (Filtered Same Domain)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is not an exhaustive list since there are variations of some of the following but here are the XSS cases currently covered by KNOXSS v3+ series. Also check how KNOXSS compares to other tools in these cases. &nbsp; Source-Based XSS Test Cases Single Reflection Using QUERY of URL Case 01 &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1460,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-766","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/knoxss.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=766"}],"version-history":[{"count":45,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/766\/revisions"}],"predecessor-version":[{"id":3937,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/766\/revisions\/3937"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/media\/1460"}],"wp:attachment":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}