IP Library Granted Patent US 8,112,799
Granted Patent B1
US 8,112,799 · App. 11/508,076 · Granted Feb 7, 2012

Method, system, and computer program product for avoiding cross-site scripting attacks

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 8,112,799
App. No.
11/508,076
Granted
Feb 7, 2012
Kind
B1
Abstract

A system and method for protecting a user against a cross-site scripting attack or other network attack that relies on scripting code embedded within a uniform resource locator (URL) are described. Validation software executing on a client computer system may intercept a URL in response to a user providing the URL to a web browser or other client application. The validation software may analyze the URL to determine whether the URL includes scripting code. If the URL includes scripting code then the validation software may block the client application from accessing the URL or may otherwise inhibit access to the URL.

Claims (110)

1. A computer-implemented method for avoiding a network attack, the method comprising:

executing a client program in a client computer system, wherein the client program executes to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

scripting code elements defined by a first scripting language;

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

2. The method of claim 1 ,

wherein said inhibiting access to the URL comprises automatically blocking access to the URL.

3. The method of claim 1 ,

wherein the keywords comprise keywords defined by a first markup language for identifying scripting code;

wherein the tags comprise tags defined by a first markup language for identifying scripting code.

4. The method of claim 1 ,

wherein said analyzing the URL to determine whether the URL includes scripting code comprises analyzing the URL to detect whether the URL includes one or more of:

hypertext markup language (HTML) keywords identifying scripting code; and/or

hypertext markup language (HTML) tags identifying scripting code.

5. The method of claim 1 ,

wherein said receiving the URL comprises receiving the URL in response to user input specifying the URL.

6. The method of claim 1 ,

wherein said receiving the URL comprises intercepting the URL in response to user input providing the URL to a client application;

wherein said inhibiting access to the URL comprises inhibiting the client application from accessing the URL.

7. A computer-implemented method for avoiding a network attack, the method comprising:

executing a client program in a client computer system, wherein the client program executes to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes scripting code elements defined by a first scripting language; and

inhibit access to the URL in response to determining that the URL includes scripting code; wherein said inhibiting access to the URL comprises:

displaying information indicating that the URL includes scripting code;

receiving user input indicating whether to block or allow access to the URL;

and one of:

blocking access to the URL if the user input indicates to block access to the URL; or

allowing access to the URL if the user input indicates to allow access to the URL.

8. A tangible, non-transitory computer-readable storage medium storing program instructions executable by a client computer system to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

escape sequences for characters that do not need to be escaped; keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

9. The computer-readable storage medium of claim 8 , wherein said inhibiting access to the URL comprises automatically blocking access to the URL.

10. The computer-readable storage medium of claim 8 , wherein said inhibiting access to the URL comprises:

displaying information indicating that the URL includes scripting code;

receiving user input indicating whether to block or allow access to the URL;

and one of:

blocking access to the URL if the user input indicates to block access to the URL; or

allowing access to the URL if the user input indicates to allow access to the URL.

11. The computer-readable storage medium of claim 8 , wherein said receiving the URL comprises intercepting the URL in response to user input providing the URL to a client application;

wherein said inhibiting access to the URL comprises inhibiting the client application from accessing the URL.

12. A client computer system comprising:

one or more processors; and

memory storing program instructions;

wherein the program instructions are executable by the one or more processors to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

scripting code elements defined by a first scripting language; and

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

13. The system of claim 12 ,

wherein said receiving the URL comprises intercepting the URL in response to user input providing the URL to a client application;

wherein said inhibiting access to the URL comprises inhibiting the client application from accessing the URL.

14. A computer-implemented method for avoiding a network attack, the method comprising:

executing a client program in a client computer system, wherein the client program executes to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to determine whether the URL includes one or more of:

HTML-reserved syntax that is used for introducing a script on a web page; and

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

15. A computer-implemented method for avoiding a network attack, the method comprising:

executing a client program in a client computer system, wherein the client program executes to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

escape sequences for characters that do not need to be escaped; and

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

16. A tangible, non-transitory computer-readable storage medium storing program instructions executable by a client computer system to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

scripting code elements defined by a first scripting language;

keywords identifying scripting code; and

tags identifying scripting code

inhibit access to the URL in response to determining that the URL includes scripting code.

17. A tangible, non-transitory computer-readable storage medium storing program instructions executable by a client computer system to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to determine whether the URL includesone or more of:

HTML-reserved syntax that is used for introducing a script on a web page;

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

18. A client computer system comprising:

one or more processors; and

memory storing program instructions;

wherein the program instructions are executable by the one or more processors to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to determine whether the URL includes one or more of:

HTML-reserved syntax that is used for introducing a script on a web page; and

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

19. A client computer system comprising:

one or more processors; and

memory storing program instructions;

wherein the program instructions are executable by the one or more processors to:

receive a uniform resource locator (URL) in a request to access the URL, wherein the URL references a server computer system;

in response to receiving the URL, automatically analyze the URL to determine whether the URL includes scripting code, wherein said analyzing comprises analyzing the URL to detect whether the URL includes one or more of:

escape sequences for characters that do not need to be escaped;

keywords identifying scripting code; and

tags identifying scripting code;

inhibit access to the URL in response to determining that the URL includes scripting code.

Assignments (3)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →