IP Library Granted Patent US 9,882,926
Granted Patent B2
US 9,882,926 · App. 15/283,701 · Granted Jan 30, 2018

Detecting stored cross-site scripting vulnerabilities in web applications

Inventors: Yair Amit (Tel-Aviv, IL); Alexander Landa (Haifa, IL); Omer Tripp (Bronx, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L63/1433G06F21/577H04L63/1441H04L63/1483G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,882,926
App. No.
15/283,701
Granted
Jan 30, 2018
Kind
B2
Abstract

A system for detecting security vulnerabilities in web applications, the system including, a black-box tester configured to provide a payload to a web application during a first interaction with the web application at a computer server, where the payload includes a payload instruction and an identifier, and an execution engine configured to detect the identifier within the payload received during an interaction with the web application subsequent to the first interaction, and determine, responsive to detecting the identifier within the payload, whether the payload instruction underwent a security check prior to execution of the payload instruction.

Claims (52)

1. A computer hardware testing system for detecting security vulnerability in a web application, comprising:

a hardware processor configured to initiate the executable operations of:

providing, to the web application and during a first interaction with the web application on a computer server, a payload including payload instruction and an identifier distinct from the payload instruction;

detecting, within the payload received during an interaction with the web application subsequent to the first interaction, the identifier; and

determining, responsive to detecting the identifier within the payload, whether the payload instruction underwent a security check prior to execution of the payload instruction.

2. The system of claim 1 , wherein the hardware processor is further configured to initiate the executable operation of:

reporting, upon the determining that the payload instruction did not undergo a security check prior to the execution of the payload instruction, that the web application is vulnerable to a stored cross-site scripting attacking.

3. The system of claim 2 , wherein

the reporting indicates an interface of the web application through which the payload was introduced.

4. The system of claim 2 , wherein

the reporting indicates a location within the payload at which the payload instruction is found.

5. The system of claim 1 , wherein the hardware processor is further configured to initiate the executable operations of:

receiving, subsequent to the first interaction, an interaction-initiating instruction from the web application during a second interaction with the web application;

receiving, during a third interaction with the web application subsequent to the second interaction, the payload; and

initiating the third interaction with the web application by executing the interaction-initiating instruction.

6. The system of claim 5 , wherein

the interaction-initiating instruction is an AJAX request.

7. The system of claim 1 , wherein

the determining includes determining whether the payload instruction underwent the security check by being processed by either of a sanitizer and a validator.

8. The system of claim 1 , wherein

the payload instruction is a predefined security-sensitive instruction.

9. The system of claim 8 , wherein

the security-sensitive instruction is a DOM API command.

10. The system of claim 1 , wherein

the payload instruction is computer-executable instructions and

the identifier is a unique alphanumeric identifier.

11. A computer program product, comprising:

a computer hardware device having stored therein computer-readable program code for detecting security vulnerability in a web application,

the computer-readable program code, which when executed by a computer hardware testing system, causes the computer hardware testing system to perform:

providing, to the web application and during a first interaction with the web application on a computer server, a payload including payload instruction and an identifier distinct from the payload instruction;

detecting, within the payload received during an interaction with the web application subsequent to the first interaction, the identifier; and

determining, responsive to detecting the identifier within the payload, whether the payload instruction underwent a security check prior to execution of the payload instruction.

12. The computer program product of claim 11 , wherein the computer-readable program code further causes the computer hardware testing system to perform:

reporting, upon the determining that the payload instruction did not undergo a security check prior to the execution of the payload instruction, that the web application is vulnerable to a stored cross-site scripting attacking.

13. The computer program product of claim 12 , wherein

the reporting indicates an interface of the web application through which the payload was introduced.

14. The computer program product of claim 12 , wherein

the reporting indicates a location within the payload at which the payload instruction is found.

15. The computer program product of claim 11 , wherein the computer-readable program code further causes the computer hardware testing system to perform:

receiving, subsequent to the first interaction, an interaction-initiating instruction from the web application during a second interaction with the web application;

receiving, during a third interaction with the web application subsequent to the second interaction, the payload; and

initiating the third interaction with the web application by executing the interaction-initiating instruction.

16. The computer program product of claim 15 , wherein

the interaction-initiating instruction is an AJAX request.

17. The computer program product of claim 11 , wherein

the determining includes determining whether the payload instruction underwent the security check by being processed by either of a sanitizer and a validator.

18. The computer program product of claim 11 , wherein

the payload instruction is a predefined security-sensitive instruction.

19. The computer program product of claim 18 , wherein

the security-sensitive instruction is a DOM API command.

20. The computer program product of claim 11 , wherein

the payload instruction is computer-executable instructions and the identifier is a unique alphanumeric identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FINJAN BLUE, INC.
Reel/Frame 046037/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: AMIT, YAIR; LANDA, ALEXANDER; TRIPP, OMER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039922/0187 →
Continuity (2)
Continuation 13217418 · Aug 25, 2011
Related Publication 20170026402A1 · Jan 26, 2017