Dynamic URL XSS Detection via Browser Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods fail to effectively detect DOM-based XSS vulnerabilities and often produce false alarms due to their inability to validate XSS vulnerabilities within web browsers, limiting their ability to comprehensively prevent XSS attacks.

Innovation Solution

Incorporating script code into dynamic URLs to test for XSS vulnerabilities by executing them within a browser, which simulates potential attacks and reports vulnerabilities to a server for further action, allowing for comprehensive detection and prevention of XSS attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If automated tools submit random data to dynamic URLs and check for data appearance in response pages, then reflected XSS vulnerabilities can be detected, but DOM-based XSS vulnerabilities cannot be detected and false alarms occur

Engineering Contradiction:
ImproveXSS vulnerability detection accuracyVSAvoidDetection reliability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent introduces a browser as an intermediary component to execute JavaScript code and generate DOM-based requests. The browser acts as a mediator between the detection tool and the web application, enabling the tool to indirectly detect DOM-based XSS vulnerabilities by observing browser-generated requests that contain test data, which traditional automated tools cannot detect directly

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the XSS detection process into two distinct phases: (1) traditional automated testing for reflected XSS by submitting random data and checking response pages, and (2) browser-based execution for DOM-based XSS by injecting test data into JavaScript code and observing generated requests. This segmentation allows each method to target specific vulnerability types effectively

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional detection tools are used, then reflected XSS can be detected, but DOM-based XSS detection fails because response pages do not contain submitted data

Engineering Contradiction:
ImproveDetection method coverageVSAvoidDOM-based XSS detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The browser serves as an intermediary that executes JavaScript code containing test data and generates DOM-based requests to the web application. By observing these browser-generated requests, the detection system can identify DOM-based XSS vulnerabilities without directly analyzing response pages, thus extending detection capability to previously undetectable vulnerability types

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent shifts the detection dimension from analyzing server response pages (traditional approach) to analyzing client-side browser requests (new dimension). By monitoring requests generated by browser JavaScript execution, the system detects DOM-based XSS in a different dimensional space where traditional methods are ineffective

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8949990B1Script-based XSS vulnerability detection
Publication Date: 2015.02.03 TREND MICRO INC
  • US8949990B1 patent drawing
  • US8949990B1 patent drawing
  • US8949990B1 patent drawing

AI summary

Detection of dynamic URLs that are vulnerable to XSS attacks is described. First, a dynamic URL is crafted by incorporating a piece of test code designed to expose an instance of XSS vulnerabilities. Next, the crafted URL is loaded into a browser, which causes a web page to be generated that may include the piece of test code. If, upon loading the web page into the browser, the piece of test code is executed by the browser and the browser sends a request to a web server as a result, then the URL is reported as XSS vulnerable. Others, the URL is not vulnerable to this instance of XSS attack. The test may be repeated multiple times for different pieces of test code, each piece designed to expose a different instance of XSS vulnerabilities.