{"id":3308,"date":"2024-06-17T23:15:56","date_gmt":"2024-06-17T23:15:56","guid":{"rendered":"https:\/\/knoxss.pro\/?page_id=3308"},"modified":"2025-01-14T18:43:43","modified_gmt":"2025-01-14T18:43:43","slug":"knoxss-comparison-study","status":"publish","type":"page","link":"https:\/\/knoxss.pro\/?page_id=3308","title":{"rendered":"KNOXSS Comparison Table"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Here's a comparison table between KNOXSS and 2 other free, open-source XSS tools.<\/p>\n<p>Test results were collected by <strong><a href=\"https:\/\/www.linkedin.com\/in\/diego-gon%C3%A7alves-09536b24\/\" target=\"_blank\" rel=\"noopener\">Diego Gon\u00e7alves<\/a><\/strong> in April and May of 2024 for Brute Logic.<\/p>\n<p>Our <strong><a href=\"https:\/\/knoxss.pro\/?page_id=766\" target=\"_blank\" rel=\"noopener\">XSS Coverage<\/a><\/strong> was used in this study.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">\n<h5><b>XSS Cases<\/b><\/h5>\n<\/td>\n<td>\n<h5><b>KNOXSS<\/b><\/h5>\n<p>v3.6.5<\/td>\n<td>\n<h5><b>Dalfox<\/b><\/h5>\n<p>v2.9.2<\/td>\n<td>\n<h5><b>XSStrike<\/b><\/h5>\n<p>v3.1.5<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Single Reflection Using QUERY of URL<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection Inline with Double Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection Inline with Single Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection Inline with Double Quotes: No Tag Breaking<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection Inline with Single Quotes: No Tag Breaking<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Single Quotes in JS Block<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Double Quotes in JS Block<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection with Single Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection with Double Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Escaped JS Injection with Single Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>True<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Escaped JS Injection with Double Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>True<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection In Event Handler (No Handler Breaking)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Fully Validated Anchor (Href) \u2013 email<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Fully Validated Anchor (Href) \u2013 url1<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Fully Validated Anchor (Href) \u2013 url2<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Fully Validated Anchor (Href) \u2013 key<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">XML Injection with CDATA and Comment Breakout - p<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">XML Injection with CDATA and Comment Breakout - q<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">XML Injection with CDATA and Comment Breakout - r<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Single Reflection Using PATH of URL<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection Inline PHP_SELF<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection 1 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection 2 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection 3 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection in Script Block 1 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection in Script Block 2 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection in Script Block 3 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Script Block 1 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Script Block 2 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection in Script Block 3 Level Deep<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Multi Reflection<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Double Injection in HTML Context with Double Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Double Injection in Mixed Context with Default Quotes<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Quoteless Inline Double Injection in JS variables<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Quoteless Inline Double Injection in JS object<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Quoteless Inline Double Injection in JS object with Nested Array<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Quoteless Inline Double Injection in JS object with Nested Function<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Special Cases<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Double Encoded Bypass<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with SQLi Error-Based<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with PHP FILTER_VALIDATE_EMAIL Bypass<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Strict-Length Input (32 chars)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Strict-Length Input (40 chars)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Strict-Length Input (64 chars)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Strip-based Bypass (AFB)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Spell Checking Bypass<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Base64 Encoded Input<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Parameter Guessing<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>True<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><span style=\"font-weight: 400;\">**<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection in Parameter Name<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Multi Context Injection Bypass on Alpha-based Filter and JSON Encode Function<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with CRLF in HTTP Header (Content-Type Replacement)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>True<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>FP<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection with Byte Fallback (WAF Bypass in Java)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>DOM-Based XSS<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via URL Parameter (Document Sink)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via Open Redirection (Location Sink)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via URL Parameter (Execution Sink)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via AJAX in URL Fragment (Document Sink)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via AngularJS Library versions 1.6.0+<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">DOM Injection via Bootstrap Library versions 4.0.0, 4.1.0 and 4.1.1<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Hybrid XSS (Source + DOM)<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection Sanitized in Source<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection with Single Quotes Fixing ReferenceError - Object Hoisting<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">JS Injection with Single Quotes Fixing ReferenceError - Hoisting Override<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>CSP Bypass<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Unsafe Inline Directive<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>True<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Base URI Against Nonce-based Scripts<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Data URI Directive<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">Whitelisted JSONP Endpoint (googleapis.com)<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>FP<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Stored XSS<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection via Cached Header Reflection<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Authenticated XSS<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span style=\"font-weight: 400;\">HTML Injection in Cookie-Based Authenticated Page<\/span><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False <\/b><span style=\"font-weight: 400;\">| <\/span><b>False<\/b><span style=\"font-weight: 400;\">*<\/span><\/td>\n<td><b>False<\/b><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><b>Blind XSS<\/b><\/td>\n<td><b>True<\/b><\/td>\n<td><b>False<\/b><span style=\"font-weight: 400;\">***<\/span><\/td>\n<td><b>False<\/b><span style=\"font-weight: 400;\">***<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">\n<h5><\/h5>\n<\/td>\n<td>\n<h5><b>KNOXSS<\/b><\/h5>\n<p>v3.6.5<\/td>\n<td>\n<h5><b>Dalfox<\/b><\/h5>\n<p>v2.9.2<\/td>\n<td>\n<h5><b>XSStrike<\/b><\/h5>\n<p>v3.1.5<\/td>\n<\/tr>\n<tr>\n<td>\n<h4><strong>Results<\/strong><\/h4>\n<p>(with FP)<\/td>\n<td>\n<h6>65<\/h6>\n<h6>0 FP<\/h6>\n<\/td>\n<td>\n<h6>23<\/h6>\n<h6>17 FP<\/h6>\n<\/td>\n<td>\n<h6>6<\/h6>\n<h6>14 FP<\/h6>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>FP = False Positive<\/p>\n<p>* Needed external resources with --remote-payloads and --remote-wordlists options.<\/p>\n<p>** It needs a 3rd party tool to find the entry point.<\/p>\n<p>*** No native support to it, needs to use a 3rd party tool or service.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Here&#8217;s a comparison table between KNOXSS and 2 other free, open-source XSS tools. Test results were collected by Diego Gon\u00e7alves in April and May of 2024 for Brute Logic. Our XSS Coverage was used in this study. &nbsp; &nbsp; XSS Cases KNOXSS v3.6.5 Dalfox v2.9.2 XSStrike v3.1.5 Single Reflection Using QUERY [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3171,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3308","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/3308","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=3308"}],"version-history":[{"count":21,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/3308\/revisions"}],"predecessor-version":[{"id":3645,"href":"https:\/\/knoxss.pro\/index.php?rest_route=\/wp\/v2\/pages\/3308\/revisions\/3645"}],"wp:attachment":[{"href":"https:\/\/knoxss.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}