IP Library Granted Patent US 8,566,945
Granted Patent B2
US 8,566,945 · App. 11/056,928 · Granted Oct 22, 2013

System and method for testing web applications with recursive discovery and analysis

Inventor: Caleb Sima (Woodstock, GA)
Assignee: Hewlett-Packard Development Company, L.P.
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,566,945
App. No.
11/056,928
Filed
Feb 11, 2005
Granted
Oct 22, 2013
Kind
B2
Art Unit
2497
USPC
726/22
Abstract

A recursive web crawling and analysis tool that includes conducting an initial crawl of a target to identify testable or analyzable objects. The objects are then parsed to identify vulnerabilities, as well as additional objects that can be analyzed. An attack is then launched against the analyzable objects in an effort to break or verify the vulnerabilities. During this attack, additional analyzable objects may be discovered. If such additional objects are discovered, the web crawler is invoked on the additional objects as well, and the results of the crawl are fed back into the parser and attacker functions.

Claims (53)

1. A method for testing web applications with recursive discovery and analysis comprising the steps of:

(a) receiving a target;

(b) crawling the target to discover a plurality of analyzable objects;

(c) conduct attack sequences on the plurality of analyzable objects;

(d) discovering an additional analyzable object during the attack sequence, such additional analyzable object not being readily apparent to a crawl process, and continuing at step (b) with the additional analyzable object used as an input to be used during said crawling.

2. The method of claim 1 , wherein the target is a URL and the step of crawling the target further comprises parsing the HTML and objects associated with the URL.

3. The method of claim 1 , wherein the target is a web application accessible at a URL, and the step of crawling the target involves examining the web application.

4. The method of claim 1 , wherein the step of crawling comprises searching the target for links, sessions and files.

5. The method of claim 4 , wherein the step of discovering an additional analyzable object comprises discovering an additional link, session or file.

6. The method of claim 5 , further comprising the step of providing attack results.

7. A method for testing web applications with recursive discovery and analysis comprising the steps of:

(a) receiving a target;

(b) crawling the target to discover one or more analyzable objects;

(c) while crawling the target, conduct attack sequences on the one or more analyzable objects as they are discovered;

(d) discovering one or more additional analyzable objects during the attack sequences, and

(e) continuing at step (b) with each additional analyzable object used as an input to be used during said crawling.

8. The method of claim 7 , further comprising a depth limit, and the step of continuing at step (b) with each additional analyzable object is restricted by the depth limit.

9. A system for testing web applications with recursive discovery and analysis, the system comprising:

a memory and a processor executing the following;

a sessions table for housing sessions;

a crawler that is operable to:

retrieve information from the sessions table;

examine one or more web items associated with the session information;

identifying additional sessions; and

entering additional sessions identified into the sessions table;

a request queue that is operable to:

extract unsent session information from the sessions table and to exercise a web application using the extracted session information; and

receive response information from the web application and enter the response information into the sessions table in a manner to associate the response with the extracted session information;

a parser operative to:

extract session information from the sessions table and search the session information to identify vulnerabilities and sessions;

and enter identified vulnerabilities and sessions into the sessions table;

and an application audit that is operable to attack the web application while the crawler is still operating by applying the session information within the sessions table and, upon discovering new sessions provide the new sessions as input to the crawler.

10. The system of claim 9 , wherein the operation of the crawler and the request queue can be substantially in parallel.

11. The system of claim 9 , wherein the operation of the crawler, the request queue and the parser can be substantially in parallel.

12. The system of claim 9 , wherein the operation of the crawler, the request queue, the parser and the application audit can be in parallel.

13. The system of claim 9 , wherein the entries into the session table initially include a request, and once the request queue has sent the request, includes any response received from sending the request.

14. The system of claim 9 , wherein if the application audit identifies additional sessions, the application audit enters these additional sessions into the session table to be operated on by the crawler.

15. The system of claim 9 , wherein if the application audit identifies additional sessions, the application audit enters these additional sessions into the session table to be operated on by the crawler, the request queue and the parser.

16. The system of claim 9 , wherein the system includes an interface over which the system can receive an initial entry into the sessions table.

17. The system of claim 9 , further comprising a proxy, wherein the proxy can enter additional sessions into the session table.

18. A method for analyzing web based objects using recursive discovery and analysis, the method comprising the steps of:

(a) receiving a web-based address of a target;

(b) crawling the target starting at the web-based address to discover one or more analyzable objects;

(c) parsing each discovered analyzable object to discover a first additional object;

(d) conduct attack sequences on each analyzable object;

(e) discovering a second additional analyzable object during the attack sequences, and continuing at step (b) with the first and second additionally discovered analyzable objects used as an input to be used during said crawling.

19. A storage device containing software that, when executed by a computer, causes the computer to:

receive a web-based address of a target;

crawl the target starting at the web-based address to discover an analyzable object;

parse said discovered analyzable object to discover a first additional object;

conduct an attack sequence on said analyzable object;

discover a second additional analyzable object during the attack sequence; and

crawl the target using the second additional analyzable object discovered during the attack sequence as input to the crawl.

Assignments (10)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2007
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 020174/0373 →
MERGER Recorded Nov 26, 2007
From: S.P.I. DYNAMICS INCORPORATED
To: HEWLETT-PACKARD COMPANY
Reel/Frame 020143/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2006
From: SIMA, CALEB
To: S.P.I. DYNAMICS INCORPORATED
Reel/Frame 018462/0018 →
Continuity (2)
Provisional Application 60543626 · Feb 11, 2004
Related Publication 20050251863A1 · Nov 10, 2005