Micro Focus Fortify Webinspect: User Guide
Micro Focus Fortify Webinspect: User Guide
Fortify WebInspect
Software Version: 19.2.0
Windows® operating systems
User Guide
Legal Notices
Micro Focus
The Lawn
22-30 Old Bath Road
Newbury, Berkshire RG14 1QN
UK
https://www.microfocus.com
Warranty
The only warranties for products and services of Micro Focus and its affiliates and licensors (“Micro Focus”) are set forth in
the express warranty statements accompanying such products and services. Nothing herein should be construed as
constituting an additional warranty. Micro Focus shall not be liable for technical or editorial errors or omissions contained
herein. The information contained herein is subject to change without notice.
Copyright Notice
© Copyright 2004-2019 Micro Focus or one of its affiliates
Trademark Notices
Adobe™ is a trademark of Adobe Systems Incorporated.
Docker® and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other
countries.
Microsoft® and Windows® are U.S. registered trademarks of Microsoft Corporation.
UNIX® is a registered trademark of The Open Group.
Documentation Updates
The title page of this document contains the following identifying information:
l Software Version number
l Document Release Date, which changes each time the document is updated
l Software Release Date, which indicates the release date of this version of the software
This document was produced on October 24, 2019. To check for recent updates or to verify that you are using the most
recent edition of a document, go to:
https://www.microfocus.com/support-and-services/documentation
Contents
Preface 25
Contacting Micro Focus Fortify Customer Support 25
For More Information 25
About the Documentation Set 25
Change Log 26
Chapter 1: Introduction 31
Fortify WebInspect Overview 31
About Fortify WebInspect Enterprise 33
Fortify WebInspect Enterprise Components 34
Component Descriptions 35
FIPS Compliance 36
About FIPS Compliance in Fortify WebInspect Products 36
Selecting FIPS-compliant Mode 36
Related Documents 36
All Products 37
Micro Focus Fortify WebInspect 37
Micro Focus Fortify WebInspect Enterprise 39
Sequence View 65
Search View 66
Step Mode View 67
Navigation Pane Icons 67
Navigation Pane Shortcut Menu 69
Information Pane 71
Scan Info Panel Overview 72
Dashboard 72
Traffic Monitor 73
Attachments 73
False Positives 74
Dashboard 74
Progress Bars 75
Progress Bar Descriptions 75
Progress Bar Colors 76
Activity Meters 76
Activity Meter Descriptions 77
Vulnerabilities Graphics 77
Statistics Panel - Scan 77
Statistics Panel - Crawl 79
Statistics Panel - Audit 79
Statistics Panel - Network 79
Attachments - Scan Info 80
False Positives 81
Importing False Positives 81
Inactive / Active False Positives Lists 81
Loading False Positives 81
Working with False Positives 81
Session Info Panel Overview 82
Options Available 82
Vulnerability 85
Web Browser 85
HTTP Request 85
Highlighted Text in the Request 85
HTTP Response 85
Highlighted Text in the Response 86
Stack Traces 86
Details 86
Steps 86
Links 86
Comments: Session Info 87
Text 87
Hiddens: Session Info 87
Forms: Session Info 87
E-Mail 87
Scripts - Session Info 88
Attachments - Session Info 88
Viewing an Attachment 88
Adding a Session Attachment 88
Editing an Attachment 89
Attack Info 89
Web Service Request 90
Web Service Response 90
XML Request 90
XML Response 90
Host Info Panel Overview 90
Options Available 91
P3P Info 92
P3P User Agents 92
AJAX 92
How AJAX Works 93
Certificates 94
Comments - Host Info 94
Cookies 94
E-Mails - Host Info 95
Forms - Host Info 95
Hiddens - Host Info 95
Scripts - Host Info 96
Broken Links 96
Offsite Links 96
Parameters 97
Summary Pane 97
Vulnerabilities Tab 98
Not Found Tab 102
Information Tab 102
Best Practices Tab 102
Scan Log Tab 102
Server Information Tab 103
Disadvantages 315
Installing the Selenium WebDriver Environment 316
Testing from the Command Line 316
Creating a Selenium Command 316
Uploading Files to Fortify WebInspect 319
Using the CLI 319
Using the API 319
Using the Selenium Command 319
Running a Scan Using WI.exe 320
Creating a Macro Using the API 320
About the Burp API Extension 321
Benefits of Using the Burp API Extension 321
Supported Versions 322
Using the Burp API Extension 322
Loading the Burp Extension 323
Connecting to Fortify WebInspect 324
Refreshing the List of Scans 326
Working with a Scan in Burp 326
Sending Items from Burp to Fortify WebInspect 329
About the WebInspect SDK 330
Audit Extensions / Custom Agents 330
SDK Functionality 331
Installation Recommendation 331
Installing the WebInspect SDK 331
Verifying the Installation 332
After Installation 332
Add Page or Directory 332
Add Variation 333
Fortify Monitor: Configure Enterprise Server Sensor 334
After Configuring as a Sensor 334
Blackout Period 335
Creating an Exclusion 335
Example 1 336
Example 2 336
Example 3 336
Example 4 336
Preface
Change Log
The following table lists changes made to this document. Revisions to this document are published
between software releases only if the changes made affect product functionality.
Software Release /
Document Version Changes
19.2.0 Added:
l A topic describing how to use the MacroGenServer.exe application. See
"Using MacroGenServer.exe" on page 288.
l A topic describing how to use a Postman collection to conduct a scan.
See "Scanning with a Postman Collection" on page 305.
l A process and several procedures for integrating Fortify WebInspect
with Selenium WebDriver. See "Integrating with Selenium WebDriver" on
page 308.
l Content to describe the new setting to enable and create response state
rules. See "Scan Settings: HTTP Parsing" on page 356.
Updated:
l Command-line execution topic to describe the Fortify WebInspect
applications that you can use by way of the command-line interface
(CLI). See "Command-line Execution" on page 273.
l WI.exe topic with parameters for starting a Selenium workflow scan. See
"Using WI.exe" on page 274.
l WI.exe topic with parameters for scan vulnerability retesting. See "Using
WI.exe" on page 274.
l CLI and Basic Scan topics with information about performing an
automated scan using a macro created from a REST API definition. See
the following topics:
l "Using WI.exe" on page 274.
l "Running a Basic Scan" on page 160
l Topics related to conducting scans with important information about
concurrent scans for installations using SQL Express. See the following
topics:
l "Running a Basic Scan" on page 160
Software Release /
Document Version Changes
Software Release /
Document Version Changes
19.1.0 Added:
l Process for configuring an interactive scan. See "Interactive Scans" on
page 180.
l Troubleshooting tips for failed login macros. See "Testing Login Macros"
on page 456.
l Option for selecting the new Web Macro Recorder with Macro Engine
5.0 as the default Web Macro Recorder. See "Application Settings:
General" on page 403.
Updated:
l Help menu topic with two new menu commands. See "Help Menu" on
page 56.
l Processes and procedures for using multi-user logins and running a scan
across multiple threads. See "Multi-user Login Scans" on page 177 and
"Scan Settings: Authentication" on page 373.
l General scan settings with "Limit maximum directory hit count to" and
"Minimum folder depth" settings that determine the number of
subfolders to enumerate during a crawl. See "Scan Settings: General" on
page 341.
l List of policies with description of the WebSocket policy. See "Fortify
WebInspect Policies" on page 424.
l Parameters and features accessible in the command-line interface to
indicate those that are not supported in Fortify WebInspect on Docker.
See "Command-line Execution" on page 273.
l Login macro content and command-line interface parameters with
information about testing of login macros while configuring scan or at
start of scan. See the following topics:
l "Running a Basic Scan" on page 160
l "Using the Predefined Template" on page 107
l "Using the Mobile Scan Template" on page 124
l "Using the Native Scan Template" on page 142
l "Using Macros" on page 225
l "Command-line Execution" on page 273
Software Release /
Document Version Changes
18.20 Added:
l Account privilege information for SQL Server database connections. See
"SQL Server Database Privileges" on page 407.
l Information and instructions on using the License and Infrastructure
Manager (LIM), previously available only in help format. See "Using the
License and Infrastructure Manager" on page 460.
Updated:
l WISwag.exe parameters table with new -ma parameter. See "Using the
WISwag.exe Tool" on page 289.
l Command line execution with a new command to stop a scan. See
"Command-line Execution" on page 273.
l List of policies with descriptions for General Data Protection Regulation
(GDPR), SANS Top 25, and DISA STIG. See "Fortify WebInspect
Policies" on page 424.
l URL for Support Channel in Application Settings. See "Application
Settings: Support Channel" on page 421.
Software Release /
Document Version Changes
Fortify frequently updates the summary and fix information database. Use Smart Update on the Fortify
WebInspect toolbar to update your database with the latest vulnerability solution information, or check
for updates automatically on startup. For more information, see "SmartUpdate" on page 269 and
"Application Settings: Smart Update" on page 421
Scanning Policies – You can edit and customize scanning policies to suit the needs of your
organization, reducing the amount of time it takes for Fortify WebInspect to complete a scan. For more
information on how to configure Fortify WebInspect policies, see the Policy Manager help or the Tools
Guide for Fortify WebInspect Products.
Sortable and Customizable Views – When conducting or viewing a scan, the left navigation pane in
the Fortify WebInspect window includes the Site, Sequence, Search, and Step Mode buttons, which
determine the contents (or "view") presented in the navigation pane.
l Site view presents the hierarchical file structure of the scanned site, as determined by Fortify
WebInspect. It also displays, for each resource, the HTTP status code returned by the server and the
number of vulnerabilities detected.
l Sequence view displays server resources in the order Fortify WebInspect encountered them during
an automated scan or a manual crawl (Step Mode).
l Search view enables you to locate sessions that match the criteria you specify. For more information,
see "Search View" on page 234.
l Step Mode is used to navigate manually through the site, beginning with a session you select from
either the site view or the sequence view. For more information, see "Running a Manual Scan " on
page 186.
Enterprise-Wide Usage Capabilities – Integrated scan provides a comprehensive overview of your
Web presence from an overall enterprise perspective, enabling you to conduct application scans of all
Web-enabled applications on the network.
Web Services Scan Capabilities – Provides a comprehensive scan of your Web services vulnerabilities.
Enables you to assess applications that contain Web services/SOAP objects.
Export Wizard – Fortify WebInspect's robust and configurable XML export tool enables users to
export (in a standardized XML format) any and all information found during the scan. This includes
comments, hidden fields, JavaScript, cookies, web forms, URLs, requests, and sessions. Users can specify
the type of information to be exported.
Web Service Test Designer – Allows you to create a Web Service Test Design file (filename.wsd) that
contains the values for Fortify WebInspect to submit when conducting a Web service scan.
API Scans – Fortify WebInspect supports scanning REST API applications as follows:
l Configure an API Scan in the user interface by way of the Basic Scan Wizard. For more information,
see "Running a Basic Scan" on page 160.
l Scan a REST API definition using the WebInspect REST API. For more information, see "Fortify
WebInspect REST API" on page 301.
l Use a Postman collection of API requests to start a scan. For more information, see "Scanning with a
Postman Collection" on page 305.
l For advanced use cases, use the WISwag.exe tool to create a webmacro or settings file to conduct a
scan of your REST API. For more information, see "Using the WISwag.exe Tool" on page 289.
Integration Capabilities – You can integrate Fortify WebInspect with some of the most widely used
application security development and testing tools, including the following:
l Burp (For more information, see "About the Burp API Extension" on page 321.)
l Postman (For more information, see "Scanning with a Postman Collection" on page 305.)
l Selenium WebDriver (For more information, see "Integrating with Selenium WebDriver" on page 308.)
Enhanced Third-Party Commercial Application Threat Agents – Fortify WebInspect enables users
to perform security scans for any web application, including the industry-leading application platforms.
Some standard commercial application threat agents with Fortify WebInspect include:
l Adobe ColdFusion
l Adobe JRun
l Apache Tomcat
l IBM Domino
l IBM WebSphere
l Microsoft.NET
l Oracle Application Server
l Oracle WebLogic
See Also
"Contact Customer Support" on page 458
l Obtain an accurate snapshot of the organization's risk and policy compliance through a centralized
database of scan results, reporting, and trend analysis.
l Facilitate integration with third-party products and deployment of customized web-based front ends
using the Web Services application programming interface (API).
Component Descriptions
The following table provides descriptions of the Fortify WebInspect Enterprise user interfaces and
architecture.
4 Fortify Software Integration with Fortify Software Security Center provides a way
Security Center to publish scans to a central repository of all static and dynamic
(optional) scans. It provides somewhat centralized accounts, although
permissions are still managed separately, the ability to submit
scan requests, and more extensive reporting than a standalone
installation.
7 Microsoft SQL Server This Microsoft Windows server has a SQL database that stores
all users, permissions, and administrative settings. The database
also stores all scan data and reporting.
FIPS Compliance
You can run Fortify WebInspect and Fortify WebInspect Enterprise in either normal mode or FIPs-
compliant mode.
Related Documents
This topic describes documents that provide information about Micro Focus Fortify software products.
Note: You can find the Micro Focus Fortify Product Documentation at
https://www.microfocus.com/support-and-services/documentation. All guides are available in both
PDF and HTML formats. Product help is available within the Fortify WebInspect products.
All Products
The following documents provide general information for all products. Unless otherwise noted, these
documents are available on the Micro Focus Product Documentation website.
About Micro Focus Fortify Product This paper provides information about how to access Micro
Software Documentation Focus Fortify product documentation.
About_Fortify_Docs_<version>.pdf Note: This document is included only with the product
download.
Micro Focus Fortify Software System This document provides the details about the
Requirements environments and products supported for this version of
Fortify Software.
Fortify_Sys_Reqs_<version>.pdf
Micro Focus Fortify Software Release This document provides an overview of the changes made
Notes to Fortify Software for this release and important
information not included elsewhere in the product
FortifySW_RN_<version>.pdf
documentation.
What’s New in Micro Focus Fortify This document describes the new features in Fortify
Software <version> Software products.
Fortify_Whats_New_<version>.pdf
Micro Focus Fortify WebInspect User This document describes how to configure and use
Guide Fortify WebInspect to scan and analyze Web applications
and Web services.
Micro Focus Fortify WebInspect on This document describes how to download, configure,
Docker User Guide and use Fortify WebInspect that is available on the
Docker container platform. This full version of the
WI_Docker_Guide_<version>.pdf
product is intended to be used in automated processes as
a headless scanner configured by way of the command
line interface (CLI) or the application programming
interface (API).
Micro Focus Fortify WebInspect Tools This document describes how to use the Fortify
Guide WebInspect diagnostic and penetration testing tools and
configuration utilities packaged with Fortify WebInspect
WI_Tools_Guide_<version>.pdf
and Fortify WebInspect Enterprise.
Micro Focus Fortify WebInspect This document describes how to install the Fortify
Runtime Agent Installation Guide WebInspect Runtime Agent for applications running
under a supported Java Runtime Environment (JRE) on a
WI_RT_Agent_Install_<version>.pdf
supported application server or service and applications
running under a supported .NET Framework on a
supported version of IIS.
Micro Focus Fortify WebInspect Agent This document describes the detection capabilities of
Rulepack Kit Guide Fortify WebInspect Agent Rulepack Kit. Fortify
WebInspect Agent Rulepack Kit runs atop the Fortify
WI_Agent_Rulepack_Guide_
WebInspect Runtime Agent, allowing it to monitor your
<version>.pdf
code for software security vulnerabilities as it runs. Fortify
WebInspect Agent Rulepack Kit provides the runtime
technology to help connect your dynamic results to your
static ones.
Micro Focus Fortify WebInspect This document provides an overview of Fortify WebInspect
Enterprise Installation and Enterprise and instructions for installing Fortify WebInspect
Implementation Guide Enterprise, integrating it with Fortify Software Security
Center and Fortify WebInspect, and troubleshooting the
WIE_Install_<version>.pdf
installation. It also describes how to configure the
components of the Fortify WebInspect Enterprise system,
which include the Fortify WebInspect Enterprise application,
database, sensors, and users.
Micro Focus Fortify WebInspect This document describes how to use Fortify WebInspect
Enterprise User Guide Enterprise to manage a distributed network of Fortify
WebInspect sensors to scan and analyze Web applications
WIE_Guide_<version>.pdf
and Web services.
Micro Focus Fortify WebInspect This document describes how to use the Fortify WebInspect
Tools Guide diagnostic and penetration testing tools and configuration
utilities packaged with Fortify WebInspect and Fortify
WI_Tools_Guide_<version>.pdf
WebInspect Enterprise.
Sensitive Data
Fortify WebInspect captures and displays all application data sent between the application and server. It
might even discover sensitive data in your application that you are not aware of. Fortify recommends
that you follow one of these best practices regarding sensitive data:
l Do not use potentially sensitive data, such as real user names and passwords, while testing with
Fortify WebInspect.
l Do not allow Fortify WebInspect scans, related artifacts, and data stores to be accessed by anyone
unauthorized to access potentially sensitive data.
Network authentication credentials are not displayed in WebInspect and are encrypted when stored in
settings.
These types of issues are environmentally specific, though McAfee IPS is known to cause both types of
problems, and any WAF will cause the first problem. Fortify has seen other issues related to these tools
as well.
If such issues arise while conducting a scan, Fortify recommends that you disable WAF, anti-virus
software, firewall, and IDS/IPS tools for the duration of the scan. Doing so is the only way to be sure
you are getting reliable scan results. If it is not practical to disable these tools, you should allow
exceptions within these tools for every issue that they detect related to WebInspect or a WebInspect
scan.
Effects to Consider
During an audit of any type, Fortify WebInspect submits a large number of HTTP requests, many of
which have "invalid" parameters. On slower systems, the volume of requests may degrade or deny access
to the system by other users. Additionally, if you are using an intrusion detection system, it will identify
numerous illegal access attempts.
To conduct a thorough scan, Fortify WebInspect attempts to identify every page, form, file, and folder
in your application. If you select the option to submit forms during a crawl of your site, Fortify
WebInspect will complete and submit all forms it encounters. Although this enables Fortify WebInspect
to navigate seamlessly through your application, it may also produce the following consequences:
l If, when a user normally submits a form, the application creates and sends e-mails or bulletin board
postings (to a product support or sales group, for example), Fortify WebInspect will also generate
these messages as part of its probe.
l If normal form submission causes records to be added to a database, then the forms that Fortify
WebInspect submits will create spurious records.
During the audit phase of a scan, Fortify WebInspect resubmits forms many times, manipulating every
possible parameter to reveal problems in the applications. This greatly increases the number of
messages and database records created.
Helpful Hints
l For systems that write records to a back-end server (database, LDAP, and so on) based on forms
submitted by clients, some Fortify WebInspect users, before auditing their production system,
backup their database, and then reinstall it after the audit is complete. If this is not feasible, you can
query your servers after the audit to search for and delete records that contain one or more of the
form values submitted by Fortify WebInspect. You can determine these values by opening the Web
Form Editor.
l If your system generates e-mail messages in response to user-submitted forms, consider disabling
your mail server. Alternatively, you could redirect all e-mails to a queue and then, following the audit,
manually review and delete those e-mails that were generated in response to forms submitted by
Fortify WebInspect.
l Fortify WebInspect can be configured to send up to 75 concurrent HTTP requests before it waits for
an HTTP response to the first request. The default thread count setting is 5 for a crawl and 10 for an
audit (if using separate requestors). In some environments, you may need to specify a lower number
to avoid application or server failure. For more information, see "Scan Settings: Requestor" on
page 348.
l If, for any reason, you do not want Fortify WebInspect to crawl and attack certain directories, you
must specify those directories using the Excluded URLs feature of Fortify WebInspect settings (see
"Scan Settings: Session Exclusions" on page 352). You can also exclude specific file types and MIME
types.
l By default, Fortify WebInspect is configured to ignore many binary files (images, documents, and so
on) that are commonly found in web applications. These documents cannot be crawled or attacked,
so there is no value in auditing them. Bypassing these documents greatly increases the audit speed. If
proprietary documents are in use, determine the file extensions of the documents and exclude them
within Fortify WebInspect's default settings. If, during a crawl, Fortify WebInspect becomes extremely
slow or stops, it may be because it attempted to download a binary document.
l For form submission, Fortify WebInspect submits data extracted from a prepackaged file. If you
require specific values (such as user names and passwords), you must create a file with Micro Focus’s
Web Form Editor and identify that file to Fortify WebInspect.
l Finally, Fortify WebInspect tests for certain vulnerabilities by attempting to upload files to your
server. If your server allows this, Fortify WebInspect will record this susceptibility in its scan report
and attempt to delete the file. Sometimes, however, the server prevents file deletion. For this reason,
search for and delete files with names that start with "CreatedByHP" as a routine part of your post-
scan maintenance.
See Also
"Fortify WebInspect Overview " on page 31
"Quick Start " below
Quick Start
This topic provides information to help you get started with Fortify WebInspect. It includes links to
more detailed information.
Update SecureBase
To ensure that you have up-to-date information about the Fortify WebInspect catalog of
vulnerabilities, use the following procedure to update your vulnerabilities database.
1. Start Fortify WebInspect.
Note: If Fortify WebInspect is installed as an interactive component of the Fortify WebInspect
Enterprise, and if the enterprise server is currently using this Fortify WebInspect module to
conduct a scan, then you cannot start Fortify WebInspect. The following message will be
displayed: "Unable to start WebInspect. Permission denied."
Note: Update the product each time you use it. You can select an application setting that runs
Smart Update each time you start the program. For more information, see "Application Settings:
Smart Update" on page 421.
For more information, including instructions for updating WebInspect that is offline, see "SmartUpdate"
on page 269.
Start a Scan
After you update your database, you are ready to determine your web application’s security
vulnerabilities.
On the Fortify WebInspect Start Page, click one of the following selections:
l Start a Guided Scan (see "Guided Scan Overview " on page 105)
l Start a Basic Scan (see "Running a Basic Scan" on page 160)
l Start a Web Service Scan (see "Running a Web Service Scan " on page 157)
l Start an Enterprise Scan (see "Running an Enterprise Scan " on page 182)
See Also
"Preparing Your System for Audit " on page 40
"User Interface Overview" on page 47
Tip: If you were conducting a scan on your site, the Web Service Scan Wizard Step 3 of 4
would prompt you to open the Web Service Test Designer tool to create a .wsd file for your
site. Then for subsequent scans of the same WSDL, you would re-use the .wsd file you created
and select Scan with existing Design File on the Web Service Scan Wizard Step 1 of 4.
5. If you need to access the target site through a proxy server, select Network Proxy and then
choose an option from the Proxy Profile list.
6. If server authentication is required, select Network Authentication and then select
an authentication method and enter your network credentials. For this exercise, accept the default.
7. Click Next.
Note: When Fortify WebInspect is connected to Enterprise Server, there is a button labeled
"WebInspect Enterprise WebConsole" to the right of the SmartUpdate button. This button launches
the Web Console.
Manage Displays a list of previously conducted scans, which you can open, rename, or
Scans delete. Click Connections to choose a database: either Local (scans stored in a
SQL Server Express Edition database on your machine) or Remote (scans stored
in a SQL Server Standard Edition database configured on your machine or
elsewhere on the network), or both. For more information, see "Manage Scans "
on page 199.
Manage Displays a list of scans that are scheduled to be performed. You can add a scan
Schedule to the schedule, edit or delete a scheduled scan, or start the scan manually. For
more information, see "Managing Scheduled Scans " on page 205.
Item Description
1 Navigation Pane
2 Information Pane
3 Summary Pane
If you have a large number of scans open at the same time, and there is no room to display all tabs, you
can scroll the tabs by clicking the arrows on the extreme right end of the tab bar. Click the X to
close the selected tab.
See Also
"Menu Bar " on page 52
"Toolbars " on page 57
"Start Page " on the next page
"Navigation Pane" on page 61
Start Page
The left-hand pane of the Start Page contains a list of activities related to the vulnerability scan of your
Web site or Web service:
l Start a Guided Scan (see "Guided Scan Overview " on page 105)
l Start a Basic Scan (see "Running a Basic Scan" on page 160)
l Start a Web Service Scan (see "Running a Web Service Scan " on page 157)
l Start an Enterprise Scan (see "Running an Enterprise Scan " on page 182)
l Generate a Report (see "Generating a Report" on page 255)
l Start SmartUpdate (see "SmartUpdate" on page 269)
The contents of the right-hand pane are controlled by the buttons on the Button bar.
Home
When Home is selected (the default), Fortify WebInspect displays a list of:
l Recently opened scans.
If you hover the pointer over a scan name, Fortify WebInspect displays summary information about
the scan. If you click the scan name, Fortify WebInspect opens the scan on a separate tab.
l Scans scheduled to be conducted today
l Recently generated reports
l Messages downloaded from the Micro Focus server
Manage Scans
When Manage Scans is selected, Fortify WebInspect displays a list of previously conducted scans, which
you can open, rename, or delete. Click Connections to choose a database: either Local (scans stored in
the SQL Server Express Edition database on your machine) or Remote (scans stored in the SQL Server
database, if configured), or both. For more information, see "Manage Scans " on page 199.
Manage Schedule
When Manage Schedule is selected, Fortify WebInspect displays a list of scheduled scans. You can add
a scan to the schedule, edit or delete a scheduled scan, or start the scan manually. For more information,
Menu Bar
Menu options are:
l "File Menu" below
l "Edit Menu " on the next page
l "View Menu " on the next page
l "Tools Menu " on page 54
l "Scan Menu " on page 54
l "Enterprise Server Menu" on page 54
l "Reports Menu " on page 55
l "Help Menu" on page 56
File Menu
The File menu commands are described in the following table.
Command Description
New Allows you to select either Basic Scan or Web Service scan, and then launches
the Scan Wizard, which steps you through the process of starting a scan.
Schedule Opens the Manage Scheduled Scans window, which allows you to add, edit, or
delete a scheduled scan.
Export This command is available only when a tab containing a scan is selected. You
may:
l Export a scan
l Export scan details
l Export a scan to Software Security Center
Close Tab When multiple tabs are open, closes the selected tab.
Command Description
Edit Menu
The Edit menu commands are described in the following table.
Command Description
Default Scan Displays the Default Settings window, allowing you to select or modify options
Settings used for scanning.
Current Scan Displays a settings window that allows you to select or modify options for the
Settings current scan. This command is available only when a tab containing a scan is
selected.
Manage Settings Opens a window that allows you to add, edit, or delete settings files.
Application Displays the Application Settings window, allowing you to select or modify
Settings options controlling the operation of the Fortify WebInspect application. For
more information, see the Application Settings.
Copy URL Copies the selected URL to the Windows clipboard. This command is available
only when a tab containing a scan is selected.
Copy Scan Log Copies the log (for the scan on the selected tab) to the Windows clipboard. This
command is available only when a tab containing a scan is selected.
View Menu
The View menu commands are described in the following table.
Command Description
Word Wrap Inserts soft returns at the right-side margins of the display area when viewing
HTTP requests and responses. This command is available only when a tab
containing a scan is selected.
Toolbars Allows you to select which toolbars should be displayed. For more information,
see "Toolbars " on page 57.
Tools Menu
The Tools menu contains commands to launch the tool applications.
Scan Menu
The Scan menu appears on the menu bar only when a tab containing a scan has focus. Scan menu
commands are described in the following table.
Command Description
Audit Assesses the crawled site for vulnerabilities. Use the command after completing
a crawl or exiting Step Mode.
Rescan This command launches the Scan Wizard prepopulated with settings last used
for the selected scan.
Command Description
Download Scan Allows you to select a scan for copying from the server to your hard drive.
Publish Scan Displays a dialog box that allows you to review vulnerabilities and
transmit them to an enterprise server which, in turn, transmits them to a
Micro Focus Fortify Software Security Center server. For more information,
Command Description
Upload Scan Allows you to select a scan for transferring data to the server. This is used
most often when the application setting "auto upload scans" is not selected.
Transfer Settings Allows you to select a Fortify WebInspect settings file and transfer it to the
server, which will create a Scan Template based on those settings. Also
allows you to select a Scan Template and transfer it to Fortify WebInspect,
which will create a settings file based on the template. For more
information, see "Transferring Settings to/from Enterprise Server" on
page 218.
Note: A Fortify WebInspect installation with a standalone license may connect to an enterprise
server at any time, as long as the user is a member of a role in Fortify WebInspect Enterprise.
Reports Menu
The Reports menu commands are described in the following table.
Command Description
Manage Reports Displays a list of standard and custom report types. You can rename, delete, or
export custom-designed reports, and you may import a report definition file.
Help Menu
The Help menu provides the commands described in this topic.
WebInspect Help
This command opens the Help file.
Search
This command opens the Help file, displaying the search options in the left pane.
Tutorials
This command allows you to download tutorials and other Fortify WebInspect documentation.
About WebInspect
This command displays information about the Fortify WebInspect application, including license
information, allowed hosts, and attributes.
Toolbars
The Fortify WebInspect window contains two toolbars: Scan and Standard. You can display or hide
either toolbar by selecting Toolbars from the View menu.
Button Function
session (if you selected Test each session per engine type).
For more information, see the "Sequentially" crawl and audit
option in "Scan Settings: Method " on page 338.
Button Function
Button Function
Button Function
To compare scans, select two scans (using Ctrl + click) and click
Compare. For more information, see "Comparing Scans " on
page 193.
Button Function
Navigation Pane
When conducting or viewing a scan, the navigation pane is on the left side of the Fortify WebInspect
window. It includes the Site, Sequence, Search, and Step Mode buttons, which determine the contents
(or "view") presented in the navigation pane.
Item Description
1 Navigation Pane
If all buttons are not displayed, click the drop-down arrow at the bottom of the button list and select
Show More Buttons.
Site View
Fortify WebInspect displays in the navigation pane only the hierarchical structure of the Web site or
Web service, plus those sessions in which a vulnerability was discovered. During the crawl of the site,
Fortify WebInspect selects the check box next to each session (by default) to indicate that the session
will also be audited. When conducting a sequential crawl and audit (where the site is completely
crawled and then audited), you can exclude a session from the audit by clearing its associated
check box before the audit begins.
Site view also contains two pop-up tabs: Excluded Hosts and Allowed Hosts Criteria.
Excluded Hosts
If you click the Excluded Hosts tab (or hover your pointer over it), the tab displays a list of all
disallowed hosts. These are hosts that may be referenced anywhere within the target site, but cannot be
scanned because they are not specified in the Allowed Hosts setting (Default/Current Scan Settings >
Scan Settings > Allowed Hosts).
Using the Excluded Hosts tab, you can select an excluded host and click either Add to scan or Add
allowed host criteria.
Item Description
1 Add to scan – Adding a host to the scan creates a node in the site tree representing the
host root directory. Fortify WebInspect will scan that session. If you have selected the
option to log rejected sessions for invalid hosts (Default/Current Scan Settings > Scan
Settings > Session Storage), Fortify WebInspect will scan the entire host.
2 Add to Allowed Host Criteria – Adding a host to the allowed host criteria adds the URL to
the list of allowed hosts in the Current Scan Settings. Fortify WebInspect will include in the
scan any subsequent links to that host. However, if you add a host to the allowed host
criteria after Fortify WebInspect has already scanned the only resource containing a link to
that host, the added host will not be scanned.
Item Description
1 Add Allowed Host Criteria – If you add an entry, Fortify WebInspect will include in the scan
any subsequent links it encounters to hosts that match the criteria. However, if you specify
a host after Fortify WebInspect has already scanned the only resource containing a link to
that host, the added host will not be scanned.
2 Delete – If you delete an entry from the allowed host list, the scan will still include any
resources that Fortify WebInspect already encountered.
To save these settings for a future scan, select Save settings as (at the bottom of the left pane of the
Settings window).
You must pause the scan before you can modify the excluded hosts or allowed hosts criteria.
Furthermore, the scanning of added or deleted hosts may not occur as expected, depending on the
point at which you paused the scan. For example, if you add an allowed host after Fortify WebInspect
has already scanned the only resource containing a link to the added host, the added host will not be
scanned.
Sequence View
Sequence view displays server resources in the order they were encountered by Fortify WebInspect
during a scan.
Note: In both Site view and Sequence view, blue text denotes a directory or file that was "guessed"
by Fortify WebInspect, rather than a resource that was discovered through a link. For example,
Fortify WebInspect always submits the request "GET /backup/ HTTP/1.1" in an attempt to discover
if the target Web site contains a directory named "backup."
Search View
The Search view allows you to search across all sessions for various HTTP message components. For
example, if you select Request Method from the drop-down list and specify POST as the search string,
Fortify WebInspect lists every session whose HTTP request uses the POST method.
Match Whole String check box. The exact match is not case-sensitive.
Note: This option is not available for certain search targets.
4. To use a different browser in Step Mode, select the browser from the Browser list.
Yellow folder: A folder whose contents are available over your Web site.
Grey folder: A folder indicating the discovery of an item via path truncation. Once the parent
is found, the folder will display in either blue or yellow, depending on its properties.
File.
Query or post.
DOM event.
A red dot with an exclamation point indicates the object contains a critical vulnerability. An
attacker might have the ability to execute commands on the server or retrieve and modify
private information.
A red dot indicates the object contains a high vulnerability. Generally, the ability to view
source code, files out of the Web root, and sensitive error messages.
A gold dot indicates the object contains a medium vulnerability. These are generally non-
HTML errors or issues that could be sensitive.
A blue dot indicates the object contains a low vulnerability. These are generally interesting
issues, or issues that could potentially become higher ones.
An "i" in a blue circle indicates an informational item. These are interesting points in the site,
or certain applications or Web servers.
l Review Vulnerability - Allows you to retest the vulnerability, mark it as a false positive, or send it to
Micro Focus Application Lifecycle Management (ALM). For more information, see "Reviewing a
Vulnerability " on page 240.
l Mark as False Positive - Flags the vulnerability as a false positive and allows you to add a note.
l Send to - Allows you convert the selected vulnerability to a defect and assign it to Micro Focus
Application Lifecycle Management (ALM), using the profile specified in the Fortify WebInspect
application settings.
l Remove Server - Deletes the server from the navigation pane and does not include the server in any
remaining scan activity. This command appears only when you right-click a server.
l Crawl - Recrawls the selected URL.
l Attachments - Allows you to create a note associated with the selected session, flag the session for
follow-up, add a vulnerability note, or add a vulnerability snapshot.
l Tools - Presents a submenu of available tools.
l Filter by Current Session - Restricts the display of items in the Summary pane to those having the
SummaryDataID of the selected session.
* Command appears on shortcut menu only when the Navigation pane is using the Site view.
See Also
"User Interface Overview" on page 47
"Search View" on page 234
"Inspecting the Results" on page 230
Information Pane
When conducting or viewing a scan, the information pane contains three collapsible information panels
and an information display area.
Item Description
1 Scan Info panel (See "Scan Info Panel Overview " on the next page)
2 Session Info panel (See "Session Info Panel Overview " on page 82)
Select the type of information to display by clicking on an item in one of these three information panels
in the left column.
Tip: If you follow a link when viewing the vulnerability information, click the highlighted session in
See Also
"Summary Pane" on page 97
"User Interface Overview" on page 47
"Navigation Pane" on page 61
"Scan Info Panel Overview " below
"Session Info Panel Overview " on page 82
"Host Info Panel Overview" on page 90
Dashboard
The Dashboard selection displays a real-time summary of the scan results and a graphic representation
of the scan progress. This section is displayed only if you select this option from the Default or Current
settings. For additional information, see "Dashboard" on page 74.
Dashboard Image
Traffic Monitor
Fortify WebInspect normally displays in the navigation pane only the hierarchical structure of the Web
site or Web service, plus those sessions in which a vulnerability was discovered. The Traffic Monitor or
Traffic Viewer allows you to display and review every HTTP request sent by Fortify WebInspect and the
associated HTTP response received from the web server.
The Traffic Monitor or Traffic Viewer is available only if Traffic Monitor Logging was enabled prior to
conducting the scan.
For more information, see "Traffic Monitor (Traffic Viewer)" on page 228.
Attachments
The Attachments selection displays a list of all session notes, vulnerability notes, flags for follow-up,
and vulnerability screenshots that have been added to the scan. Each attachment is associated with a
specific session. This form also lists scan notes (that is, notes that apply to the entire scan rather than to
a specific session).
You can create a scan note, or you can edit or delete an existing attachment.
To create a scan note, click the Add menu (in the information display area).
To edit an attachment, select the attachment and click Edit.
To create attachments in other area of the Fortify WebInspect user interface, you can either:
l Right-click a session in the navigation pane and select Attachments from the shortcut menu, or
l Right-click a URL on the Vulnerabilities tab of the summary pane and select Attachments from the
shortcut menu.
Fortify WebInspect automatically adds a note to the session whenever you send a defect to Micro Focus
Application Lifecycle Management (ALM).
For more information, see "Attachments - Scan Info" on page 80.
Attachments Image
False Positives
This feature lists all URLs that Fortify WebInspect originally flagged as containing a vulnerability,
but which a user later determined were false positives. Note that this option is not displayed until
someone actually designates a vulnerability as a false positive.
Click the URL associated with a false positive to view a note that may have been entered when the user
removed the vulnerability.
To reassign the vulnerability and remove the URL from the False Positive list, select a URL and click
Mark as Vulnerability.
You can import from a previous scan a list of vulnerabilities that were identified as being false positives.
Fortify WebInspect then correlates these false positives from a previous scan with vulnerabilities
detected in the current scan and flags the new occurrences as false positives.
For more information, see "False Positives" on page 81.
False Positives Image
See Also
"Session Info Panel Overview " on page 82
"Host Info Panel Overview" on page 90
"User Interface Overview" on page 47
"Dashboard" below
"Traffic Monitor (Traffic Viewer)" on page 228
"Attachments - Scan Info" on page 80
Dashboard
The Dashboard selection displays a real-time summary of the scan results and a graphic representation
of the scan progress.
Dashboard Image
The following image displays the Scan Dashboard with a scan in progress.
Progress Bars
Each bar represents the progress being made through that scanning phase.
Smart Audited Number of sessions audited using smart audit / total number of sessions for
smart audit.
For smart audit, Fortify WebInspect detects the type of server on which the Web
application is hosted. Fortify WebInspect runs checks that are specific to the
server type and avoids checks that are not valid for the server type.
Reflection Number of persistent XSS vulnerable linked sessions audited / total number of
Audited persistent XSS vulnerable linked sessions to audit.
When persistent XSS auditing is enabled, this represents the work required for
auditing the linked sessions found in the verification step for persistent XSS.
Activity Meters
Fortify WebInspect polls information about the activity occurring in the scan and displays the data in
activity meters. The data presents a real-time snapshot of the scan activity. This information can help
you to determine whether the scan is stalled or actively running.
Meter Description
Network The amount of data being sent and received by Fortify WebInspect.
The chart shows this data as B, KB, or MB sent/received over the last one
second.
Analysis The amount of work being done per second by Fortify WebInspect in processing
all threads.
Vulnerabilities Graphics
The following table describes the Vulnerabilities bar graph and grid.
Graphic Description
Vulnerability Total number of issues identified for the scan per severity level.
Graph
Attack Stats Number of attacks made and issues found, categorized by attack type and audit
Grid engine.
Item Description
Agent Refers to the Fortify WebInspect Agent and states either Detected or Not
Item Description
Detected. For certain checks (such as SQL injection, command execution, and
cross-site scripting), Fortify WebInspect Agent intercepts Fortify WebInspect
HTTP requests and conducts runtime analysis on the target module. If this
analysis confirms that a vulnerability exists, Fortify WebInspect Agent appends
the stack trace to the HTTP response. Developers can analyze this stack trace to
investigate areas that require remediation.
Client The rendering engine specified for the scan. Options are:
l IE (Internet Explorer)
l FF (Firefox)
l iPhone
l iPad
l Android
l Windows Phone
l Windows RT
Duration Length of time scan has been running (can be incorrect if the scan terminates
abnormally).
Policy Name of the policy used for the scan. For a retest, the field contains a dash ("-"),
because the retest does not use the entire policy. For more information, see
"Retest Vulnerabilities" on page 251.
Deleted Items The number of sessions and vulnerabilities removed by the user from the scan.
To remove a session, right-click a session in the Navigation pane and select
Remove Location from the shortcut menu. For more information, see
"Navigation Pane" on page 61.
To remove a vulnerability, right-click a vulnerability in the Summary pane and
select Ignore Vulnerability from the shortcut menu. For more information, see
"Summary Pane" on page 97.
To restore sessions or vulnerabilities that have been deleted:
1. On the Scan Dashboard, click the number associated with deleted items.
The Recover Deleted Items window appears.
2. Select either Vulnerabilities or Sessions from the drop-down menu.
3. Select one or more items.
4. Click Recover.
Item Description
Sessions Total number of sessions (excluding AJAX requests, script and script frame
includes, and WSDL includes).
Item Description
Issues Total number of issues found (all vulnerabilities, as well as best practices).
Item Description
404 Probes Number of file not found probes made to determine file not found status.
Logouts Number of times logout was detected and login macro executed.
Item Description
See Also
"Scan Info Panel Overview " on page 72
"Session Info Panel Overview " on page 82
"Host Info Panel Overview" on page 90
False Positives
This feature lists all URLs that Fortify WebInspect originally flagged as containing a vulnerability
and which a user later determined were false positives.
Options Available
The following table lists the options available in the Session Info panel. Some options appear only for
specific scans (Basic Scan or Web Service Scan). Also, options are enabled only if they are relevant to the
selected session; for example, the Forms selection is not available if the session does not contain a form.
Option Description
Vulnerability Displays the vulnerability information for the session selected in the navigation
pane.
Web Browser1 Displays the server's response as rendered by a Web browser for the session
selected in the navigation pane.
HTTP Request Displays the raw HTTP request sent by Fortify WebInspect to the server hosting
the site you are scanning.
HTTP Response Displays the server's raw HTTP response to Fortify WebInspect's request.
Option Description
If you select a Flash (.swf) file, Fortify WebInspect displays HTML instead of
binary data. This allows Fortify WebInspect to display links in a readable format.
Stack Traces This feature is designed to support Fortify WebInspect Agent when it is installed
and running on the target server.
For certain checks (such as SQL injection, command execution, and cross-site
scripting), Fortify WebInspect Agent intercepts Fortify WebInspect HTTP
requests and conducts runtime analysis on the target module. If this analysis
confirms that a vulnerability exists, Fortify WebInspect Agent appends the stack
trace to the HTTP response. Developers can analyze this stack trace to
investigate areas that requires remediation.
Details1 Lists request and response details, such as the size of the response and the
request method. Note that the Response section contains two entries for
content type: returned and detected. The Returned Content Type indicates the
media type specified in the Content-Type entity-header field of the HTTP
response. Detected Content Type indicates the actual content-type as
determined by Fortify WebInspect.
Steps1 Displays the route taken by Fortify WebInspect to arrive at the session selected
in the navigation pane or the URL selected in the summary pane. Beginning with
the parent session (at the top of the list), the sequence reveals the subsequent
URLs visited and provides details about the scan methodology.
Links1 This option lists (under Linked From) all resources at the target site that contain
links to the selected resource. The links may be rendered by HTML tags, scripts,
or HTML forms. It also lists (under Linked To) all resources that are referenced
by links within the HTTP response for the selected session.
Comments1 Displays all comments (in HTML) embedded in the HTTP response.
Text1 Displays all text contained in the HTTP response for the session selected in the
navigation pane.
Hiddens1 Displays the name attribute of each input element whose control type is
Option Description
"hidden."
Attachments Displays all notes, flags, and screenshots associated with the selected object.
To create an attachment, you can either:
l Right-click a session (Basic or Guided Scan) or an operation or vulnerability
(Web service scan) in the navigation pane and select Attachments from the
shortcut menu, or
l Right-click a URL on the Vulnerabilities tab of the summary pane and select
Attachments from the shortcut menu, or
l Select a session (Basic Scan) or an operation or vulnerability (Web service
scan) in the navigation pane, then select Attachments from the Session Info
panel and click the Add menu (in the information pane).
Fortify WebInspect automatically adds a note to the session information
whenever you send a defect to Micro Focus Application Lifecycle Management
(ALM).
Attack Info1 Displays the attack sequence number, URL, name of the audit engine used, and
the result of the vulnerability test. Attack information is usually associated with
the session in which the attack was created and not with the session in which it
was detected. If attack information does not appear for a selected vulnerable
session, select the parent session and then click Attack Info.
XML Request2 Displays the SOAP envelope embedded in the request (available when selecting
an operation during a Web Service Scan).
XML Response2 Displays the SOAP envelope embedded in the response (available when
selecting an operation during a Web Service Scan).
Web Service Displays the web service schema and values embedded in the request (available
Request2 when selecting an operation during a Web Service Scan).
Web Service Displays the web service schema and values embedded in the response
Response2 (available when selecting an operation during a Web Service Scan).
1 Basic or Guided Scan only
Most options provide a Search feature at the top of the information pane, allowing you to locate the
text you specify. To conduct a search using regular expressions, select the Regex button before clicking
Find.
Tip: If you follow a link when viewing the vulnerability information, click the highlighted session in
the navigation pane to return.
See Also
"User Interface Overview" on page 47
"Host Info Panel Overview" on page 90
"Navigation Pane" on page 61
"Scan Info Panel Overview " on page 72
"Summary Pane" on page 97
"Regular Expressions" on page 298
Vulnerability
This option displays the vulnerability information for the session selected in the navigation pane or for
the vulnerability selected in the summary pane. It typically includes a description of the vulnerability,
vulnerability ID, Common Weakness Enumeration (CWE) ID, Kingdom, implications (how this
vulnerability may affect you), and instructions on how to fix the vulnerability.
Web Browser
This option displays the server's response as rendered by a Web browser for the session selected in the
Navigation pane.
HTTP Request
This option displays the raw HTTP request (for the session selected in the navigation pane) sent by
Fortify WebInspect to the server hosting the site you are scanning.
HTTP Response
This option displays the server's raw HTTP response to Fortify WebInspect's request, for the session
selected in the navigation pane.
If the response contains one or more attack signatures (indicating that a vulnerability has been
discovered) you can tab from one attack signature to the next by clicking these buttons:
If you select a Flash (.swf) file, Fortify WebInspect displays HTML instead of binary data. This allows
Fortify WebInspect to display links in a readable format.
Stack Traces
This feature is designed to support Fortify WebInspect Agent when it is installed and running on the
target server.
For certain checks (such as SQL injection, command execution, and cross-site scripting), Fortify
WebInspect Agent intercepts Fortify WebInspect HTTP requests and conducts runtime analysis on the
target module. If this analysis confirms that a vulnerability exists, Fortify WebInspect Agent appends
the stack trace to the HTTP response. Developers can analyze this stack trace to investigate areas that
require remediation.
Details
This option lists request and response details, such as the size of the response and the request method,
for the session selected in the navigation pane.
Note that the Response section contains two entries for content type: returned and detected. Returned
Content Type indicates the media type specified in the Content-Type entity-header field of the HTTP
response. Detected Content Type indicates the actual content-type as determined by Fortify
WebInspect.
Steps
This option displays the route taken by Fortify WebInspect to arrive at the session selected in the
navigation pane or the URL selected in the summary pane. Beginning with the parent session (at the
top of the list), the sequence reveals the subsequent URLs visited and provides details about the scan
methodology.
Links
This option lists (under Linked From) all resources at the target site that contain links to the selected
resource. The links may be rendered by HTML tags, scripts, or HTML forms.
It also lists (under Linked To) all resources that are referenced by links within the HTTP response for
the selected session.
If you double-click a listed link, Fortify WebInspect shifts focus in the navigation pane to the referenced
session. Alternatively, you can browse to the linked resource by viewing the session in the Web browser
(click Web Browser). For more information, see "Navigation Pane" on page 61.
Text
This option displays all text contained in the HTTP response for the session selected in the navigation
pane. For more information, see "Navigation Pane" on page 61.
E-Mail
Fortify WebInspect lists all email addresses contained in the session selected from the navigation pane.
Use the Search feature at the top of the information pane to locate the text you specify. To conduct a
search using regular expressions, select the Regex button before clicking Find.
You can copy email addresses to your clipboard by highlighting the text and selecting Copy from the
shortcut menu.
The Attachments selection displays a list of all notes, flags, and screenshots that have been associated
with the selected session.
Viewing an Attachment
To view an attachment:
l Select the attachment and click View (or simply double-click the attachment).
Editing an Attachment
To edit an attachment:
1. Do one of the following:
l To view all attachments that have been added to the scan, click Attachments in the Scan Info
panel.
l To view only those attachments that have been added to a specific session, click Attachments
in the Session Info panel and then click a session in the Navigation pane. You can also select a
URL in the Summary pane.
2. Select an attachment and click Edit.
3. Modify the comments as required.
Note: Screenshot attachments cannot be edited.
Attack Info
For the session selected in the navigation pane, this option displays the attack sequence number, URL,
name of the audit engine used, and the result of the vulnerability test.
Attack information is usually associated with the session in which the attack was created and not with
the session in which it was detected. If attack information does not appear for a selected vulnerable
session, select the parent session and then click Attack Info.
Also, attack information for non-vulnerable sessions will not appear unless you have enabled the
appropriate session storage option in the default settings. For more information, see "Session Storage"
on page 352.
XML Request
This option displays the associated XML schema embedded in the selected request (available when
selecting the WSDL object during a Web Service scan).
XML Response
This option displays the associated XML schema embedded in the response for the session selected in
the navigation pane (available when selecting the WSDL object during a Web Service scan).
Note: The Host Info panel is not displayed when conducting a Web Service scan.
In the following illustration, selecting Cookies displays a list of all sessions in which cookies were
detected. If you select an item from the list, Fortify WebInspect displays the cookies associated with the
selected session.
Options Available
The Host Info options are described in the following table.
Option Description
P3P Info Displays Platform for Privacy Preferences Project (P3P) information. For more
information, see "P3P Info" on the next page.
AJAX Displays a list of all pages containing an AJAX engine, as well as the AJAX
requests. For more information, see "AJAX" on the next page.
Certificates Displays a list of all certificates associated with the site. For more information,
see "Certificates" on page 94.
Comments Displays a list of all URLs containing comments. For more information, see
"Comments - Host Info" on page 94.
Cookies Displays a list of all URLs containing cookies. For more information, see
"Cookies" on page 94.
E-Mails Displays a list of all URLs containing e-mail addresses in the response. For more
information, see "E-Mails - Host Info" on page 95.
Forms Displays a list of all URLs containing forms. For more information, see "Forms -
Host Info" on page 95.
Option Description
Hiddens Displays a list of all URLs containing input elements whose control type is
"hidden." For more information, see "Hiddens - Host Info" on page 95.
Scripts Displays a list of all URLs containing client-side scripts embedded in the server's
response. For more information, see "Scripts - Host Info" on page 96.
Broken Links Displays a list of all URLs containing hyperlinks to missing targets. For more
information, see "Broken Links" on page 96.
Offsite Links Displays a list of all URLs containing hyperlinks to other sites. For more
information, see "Offsite Links" on page 96.
Parameters Displays a list of all URLs containing embedded parameters. For more
information, see "Parameters" on page 97.
P3P Info
This option displays Platform for Privacy Preferences Project (P3P) information.
The World Wide Web Consortium's P3P enables Web sites to express their privacy practices in a
standard format that can be retrieved automatically and interpreted easily by user agents. P3P user
agents allow users to be informed of site practices (in both machine- and human-readable formats) and
to automate decision-making based on these practices when appropriate. Thus users need not read the
privacy policies at every site they visit.
A P3P-compliant Web site declares in a policy the kind of information it collects and how that
information will be used. A P3P-enabled Web browser can decide what to do by comparing this policy
with the user's stored preferences. For example, a user may set browser preferences so that information
about their browsing habits should not be collected. When the user subsequently visits a Web site
whose policy states that a cookie is used for this purpose, the browser automatically rejects the cookie.
AJAX
AJAX is an acronym for Asynchronous JavaScript and XMLHttpRequest.
If you select this option, Fortify WebInspect displays all pages containing an AJAX engine, as well as the
AJAX requests.
Certificates
A certificate states that a specific Web site is secure and genuine. It ensures that no other Web site can
assume the identity of the original secure site. A security certificate associates an identity with a public
key. Only the owner of the certificate knows the corresponding private key, which allows the owner to
make a "digital signature" or decrypt information encrypted with the corresponding public key.
Cookies
A cookie contains information (such as user preferences or configuration information) stored by a
server on a client for future use. Cookies appear in two basic forms: as individual files or as records
within one contiguous file. Often, there are multiple sets, the result of multiple browsers being installed
in differing locations. In many cases, "forgotten" cookies contain revealing information that you would
prefer others not see.
To view discovered cookies:
1. Select Cookies from the Host Info panel to list all URLs in which cookies were found during a crawl
or audit.
2. Click a URL to view the cookies it contains.
3. Double-click an entry to locate in the navigation pane the session that contains the cookie. Focus
switches to the HTTP Response choice in the Session Info panel.
Use the Search feature at the top of the information pane to locate the text you specify. To conduct a
search using regular expressions, select the Regex button before clicking Find.
You can copy cookie code to your clipboard by highlighting the text and selecting Copy from the
shortcut menu.
If you double-click a URL, Fortify WebInspect highlights in the navigation pane the session that
contains the URL.
You can copy the HTML text to your clipboard by highlighting the text and selecting Copy from the
shortcut menu.
If you double-click a URL, Fortify WebInspect highlights in the navigation pane the session that
contains the URL.
Broken Links
Fortify WebInspect finds and documents all non-working hyperlinks on the site. To locate broken links:
1. Select Broken Links from the Host Info panel to list all URLs that contain non-working hyperlinks.
2. Double-click an entry to locate in the navigation pane the session that contains a broken link. Focus
switches to the HTTP Response choice in the Session Info panel.
Use the Search feature at the top of the information pane to locate the text you specify. To conduct a
search using regular expressions, select the Regex button before clicking Find.
You can copy the HTML text to your clipboard by highlighting the text and selecting Copy from the
shortcut menu.
If you double-click a URL, Fortify WebInspect highlights in the navigation pane the session that
contains the URL.
Offsite Links
Fortify WebInspect finds and documents all hyperlinks to other sites.
Parameters
A parameter can be either of the following:
l A query string submitted as part of the URL in the HTTP request (or contained in another header).
l Data submitted using the Post method.
To list all URLs that contain parameters:
1. Select Parameters from the Host Info panel.
2. Click a URL to view the parameters it contains.
3. Double-click an entry to locate in the navigation pane the session that contains the parameter. For
more information, see "Navigation Pane" on page 61.
Use the Search feature at the top of the information pane to search the selected URL for the text you
specify. To conduct a search using regular expressions, select the Regex button before clicking Find.
For more information, see "Regular Expressions" on page 298.
You can copy text to your clipboard by highlighting the text and selecting Copy from the shortcut
menu.
If you double-click a URL, Fortify WebInspect highlights in the navigation pane the Session that
contains the URL.
For more information on the Fortify WebInspect window, see "User Interface Overview" on page 47.
See Also
"Host Info Panel Overview" on page 90
Summary Pane
When conducting or viewing a scan, use the horizontal summary pane at the bottom of the window to
view a centralized display of vulnerable resources, quickly access vulnerability information, and view
Fortify WebInspect logging information.
Note: You can also group and filter results on all tabs except Scan Log. For more information, see
"Using Filters and Groups in the Summary Pane" on page 235.
Vulnerabilities Tab
The Vulnerabilities tab lists information about each vulnerability discovered during an audit of your
Web presence.
To select the information you want to display, right-click the column header bar and choose Columns
from the shortcut menu.
l Application: The application or framework in which the vulnerability is found, such as ASP.NET or
Microsoft IIS server.
l Pending Status: The status (assigned automatically by Fortify WebInspect or manually) if this scan
were to be published.
l Published Status: The status as it exists in Software Security Center, if previously published.
l Reproducible: Values may be Reproduced, Not Found/Fixed, or New. Column is available for Site
Retests only (Retest Vulnerabilities).
l Response Length: The response size in bytes for the vulnerable session.
The severity of vulnerabilities is indicated by the following icons.
If you click an item in the list, the program highlights the related session in the navigation pane and
displays associated information in the information pane. For more information, see "Navigation Pane"
on page 61 and "Information Pane " on page 71.
With a session selected, you can also view associated information by selecting an option from the
Session Info panel.
For Post and Query parameters, click an entry in the Parameters column to display a more readable
synopsis of the parameters.
If you right-click an item in the list, a shortcut menu allows you to:
l Copy URL - Copies the URL to the Windows clipboard.
l Copy Selected Item(s) - Copies the text of selected items to the Windows clipboard.
l Copy All Items - Copies the text of all items to the Windows clipboard.
l Export - Creates a comma-separated values (csv) file containing either all items or selected items and
displays it in Microsoft Excel.
l View in Browser - Renders the HTTP response in a browser.
l Filter by Current Value - Restricts the display of vulnerabilities to those that satisfy the criteria you
select. For example, if you right-click on "Post" in the Method column and then select Filter by
Current Value, the list displays only those vulnerabilities that were discovered by sending an HTTP
request that used the Post method.
Note: The filter criterion is displayed in the combo box in the upper right corner of the summary
pane. Alternatively, you can manually enter or select a filtering criterion using this combo box.
For additional details and syntax rules, see "Using Filters and Groups in the Summary Pane" on
page 235.
l Review Vulnerability - Available if one vulnerability is selected; allows you to retest the vulnerable
session, mark it as false positive or ignored, or send it to Micro Focus Application Lifecycle
Management (ALM). For more information, see "Reviewing a Vulnerability " on page 240. This option
is also invoked if you double-click a vulnerability.
l Mark as - Flags the vulnerability as either a false positive (and allows you to add a note) or as
ignored. In both cases, the vulnerability is removed from the list. You can view a list of all false
positives by selecting False Positives in the Scan Info panel. You can view a list of false positives and
ignored vulnerabilities by selecting Dashboard in the Scan Info panel, and then clicking the
hyperlinked number of deleted items in the statistics column.
Note: You can recover "false positive" and "ignored" vulnerabilities. See "Recovering Deleted
Items" on page 253 for details.
l Send to - Converts the vulnerability to a defect and adds it to the Micro Focus Application Lifecycle
Management (ALM) database.
l Remove Location - Removes the selected session from the navigation pane (both Site and
Sequence views) and also removes any associated vulnerabilities.
Note: You can recover removed locations (sessions) and their associated vulnerabilities. See
"Recovering Deleted Items" on page 253 for details.
l Send to
l Remove Location
Information Tab
The Information tab lists information discovered during a Fortify WebInspect scan. These are not
considered vulnerabilities, but simply identify interesting points in the site or certain applications or Web
servers. When you click a listed URL, the program highlights the related item in the navigation pane.
The shortcut menu options, grouping, and filtering capabilities are the same as described for the
Vulnerabilities tab.
You can select the logging level (Debug, Info, Warn, Error, or Fatal) using the Logging option on the
Application Settings window. For more information, see "Application Settings: Logging" on page 413.
You can filter the type of messages displayed using the Errors, Warnings, and Messages buttons at
the top of the pane. To view detailed information about a specific entry in the scan log, select an entry
and then click Detail.
You can also right-click an entry and select the following options from the shortcut menu:
l Copy selected row to clipboard.
l Copy all items to clipboard.
l Get more information about this message.
Predefined Templates
There are three predefined templates options to choose from:
l Standard Scan: use this option to when you are interested in coverage. Larger sites could take days
when using this template.
l Quick Scan: use this option when focusing on breadth and performance rather than digging deep.
Especially good for very large sites.
l Thorough Scan: use to perform an exhaustive crawl on your site. It is recommended that you split
your site into parts and only scan smaller chunks of your site with these settings. Not recommended
for large sites.
Mobile Templates
There are two mobile template options to choose from:
l Mobile Scan: use this option to scan a mobile site from the machine where your instance of Fortify
WebInspect or Fortify WebInspect Enterprise is installed. Fortify WebInspect or Fortify WebInspect
Enterprise will fetch the mobile version of the site rather than the full site when this option is chosen.
l Native Scan: use this option to manually crawl a native mobile application and capture the Web
traffic as a workflow macro. Generate the traffic on an Android, Windows, or iOS device or software
emulator (Android and iOS only) running a mobile application.
After selecting a Guided Scan template, the stages and steps are displayed in the left pane, allowing you
to easily navigate among them and specify the settings for your scan.
See Also
"Using the Predefined Template" on the next page
"Using the Mobile Scan Template" on page 124
"Using the Native Scan Template" on page 142
For more information, see "Using the Native Scan Template" on page 142.
See Also
"Guided Scan Overview " on page 105
"Fortify WebInspect Policies" on page 424
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
Fortify WebInspect and Fortify WebInspect Enterprise support both Internet Protocol version 4
(IPV4) and Internet Protocol version 6 (IPV6). IPV6 addresses must be enclosed in brackets.
2. (Optional) To limit the scope of the scan to an area, select the Restrict to Folder check box, and
then select one of the following options from the list:
Directoryonly (self). Fortify WebInspect and Fortify WebInspect Enterprise will crawl and/or audit
only the URL you specify. For example, if you select this option and specify a URL of
www.mycompany/one/two/, Fortify WebInspect or Fortify WebInspect Enterprise will assess only
the "two" directory.
Directory and subdirectories. Fortify WebInspect or Fortify WebInspect Enterprise will begin
crawling and/or auditing at the URL you specify, but will not access any directory that is higher in
the directory tree.
Directory and parent directories. Fortify WebInspect or Fortify WebInspect Enterprise will begin
crawling and/or auditing at the URL you specify, but will not access any directory that is lower in
the directory tree.
For information about limitations to the Restrict to folder scan option, see "Restrict to Folder
Limitations" on page 182.
3. Click Verify.
If the website is set up to be authenticated with a client certificate using a common access card
(CAC), then Guided Scan will prompt you with the following message:
The site <URL> is requesting a client certificate. Would you like to configure one now?
To configure a client certificate using a CAC:
a. Click Yes.
The Select a Client Certificate window appears.
b. Under Certificate Store, select Current User.
A list of available certificates appears in the Certificate area.
c. Locate and select a certificate that is prefixed with “(SmartCard)”.
Details about the certificate and a PIN field appear in the Certificate Information area.
d. If a PIN is required, type the PIN for the CAC in the PIN field, and then click Test.
Note: If a PIN is required and you do not enter the PIN at this point, you must enter the
PIN in the Windows Security window each time it prompts you for it during the scan.
4. If you must access the target site through a proxy server, click Proxy in the lower left of the main
screen to display the Proxy Settings area, and then select an option from the Proxy Settings list:
l Direct Connection (proxy disabled)
l Autodetect proxy settings: Use the Web Proxy Autodiscovery Protocol (WPAD) to locate a
proxy autoconfig file and use this to configure the browser's Web proxy settings.
l Use System proxy settings: Import your proxy server information from the local machine.
l Use Firefox proxy settings: Import your proxy server information from Firefox.
l Configure proxy settings using a PAC File: Load proxy settings from a Proxy Automatic
Configuration (PAC) file. If you select this option, click Edit to enter the location (URL) of the
PAC.
l Explicitly configure proxy settings: Specify proxy server settings as indicated. If you select
this option, click Edit to enter proxy information.
Note: Electing to use browser proxy settings does not guarantee that you will access the
Internet through a proxy server. If the Firefox browser connection settings are configured for
"No proxy," or if the Internet Explorer setting "Use a proxy server for your LAN" is not selected,
then a proxy server is not used.
When the Web site or directory structure appears, you have successfully verified your connection
to the Start URL.
5. Click Next.
The Choose Scan Type window appears.
3. In the Scan Method area, select one of the following scan methods:
l Crawl Only. This option completely maps a site's hierarchical data structure. After a crawl has
been completed, you can click Audit to assess an application’s vulnerabilities.
l Crawl and Audit. Fortify WebInspect or Fortify WebInspect Enterprise map the site’s
hierarchical data structure and audits each resource (page). Depending on the default settings
you select, the audit can be conducted as each resource is discovered or after the entire site is
crawled. For information regarding simultaneous vs. sequential crawl and audit, see "Scan
Settings: Method " on page 338.
l Audit Only. Fortify WebInspect or Fortify WebInspect Enterprise apply the methodologies of
the selected policy to determine vulnerability risks, but does not crawl the Web site. No links on
the site are followed or assessed.
4. In the Policy area, select a policy from the Policy list. For information about managing policies, see
the "Policy" chapter in the Tools Guide for Fortify WebInspect Products.
5. In the Crawl Coverage area, select the level of coverage you want using the Crawl Coverage slider.
For more information on crawl coverage levels, see "Coverage and Thoroughness" on page 169.
6. In the Single-Page Applications area, select Enable SPA support for crawling and auditing single-
page applications (SPAs). When enabled, the DOM script engine finds JavaScript includes, frame
and iframe includes, CSS file includes, and AJAX calls during the crawl, and then audits all traffic
generated by those events.
Caution! SPA support should be enabled for single-page applications only. Enabling SPA
support to scan a non-SPA website will result in a slow scan.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
3. To use a client certificate for network authentication, select Client Certificate.
4. In the Certificate Store area, select one of the following, and then select either the My or Root
radio button:
l Local Machine. Fortify WebInspect uses a certificate on the local machine based on your
selection in the Certificate Store area.
l Current User. Fortify WebInspect uses a certificate for the current user based on your selection
in the Certificate Store area.
5. To view certificate details in the Certificate Information area, select a certificate.
6. Click the Next button.
The Application Authentication page appears.
l To edit an existing login macro shown in the Login Macro field, click Edit.
l To record a new macro, click Create.
For details about recording a new login macro or using an existing login macro, see the "Unified
Web Macro Recorder" chapter in the Tools Guide for Fortify WebInspect Products.
3. Click the Next button.
If you selected a Standard scan, the Optimization Tasks page appears. If you selected a Workflows
scan, the Manage Workflows page appears.
l To edit an existing login macro shown in the Login Macro field, click Edit.
l To record a new macro, click Create.
For details about recording a new login macro or using an existing login macro, see the "Unified
Web Macro Recorder" chapter in the Tools Guide for Fortify WebInspect Products.
6. After recording or selecting the second macro, click the Next button.
If you selected a Standard scan, the Optimization Tasks page appears. If you selected a Workflows
scan, the Manage Workflows page appears.
4. Locate and select the file, and then click Open.
The Import Selenium Script window appears.
5. (Optional) To view and/or adjust how Selenium behaves during macro replay, click the Settings
plus (+) sign.
The Settings area expands and the default settings become visible. Make changes as necessary.
To... Then...
Note: You cannot automatically create login macros for privilege-escalation and multi-user login
scans or for any scan using the Internet Explorer rendering engine.
If the macro is invalid and fails to log in to the application, an error message appears. For more
information and troubleshooting tips, see "Testing Login Macros" on page 456.
Important! If you use a login macro in conjunction with a workflow macro or startup macro or
both, all macros must be of the same type: all .webmacro files, all Burp Proxy captures, or all
Selenium macros. You cannot use different types of macros in the same scan.
To complete the Workflows settings, click any of the following in the Workflows table:
l Record. Opens the Unified Web Macro Recorder, allowing you to create a macro.
l Edit. Opens the Unified Web Macro Recorder and loads the selected macro.
l Delete. Removes the selected macro (but does not delete it from your disk).
l Import. Opens a standard file-selection window, allowing you to select a previously recorded
.webmacro file, Burp Proxy captures, or a Selenium macro. If using a Selenium macro, you will need to
click Verify for Fortify WebInspect to play the macro. If the macro does not play successfully, the
Import Selenium Script window displays an error. You will need to debug and correct the error in
Selenium, and return to this procedure to try the import again.
Note: If you have installed Micro Focus Unified Functional Testing (UFT) on your computer,
then Fortify WebInspect detects this automatically and displays an option to import a UFT .usr
file.
See "Importing Micro Focus Unified Functional Testing (UFT) Files in a Guided Scan " on
page 123.
l Export. Opens a standard file-selection window, allowing you to save a recorded macro.
After you specify and play a workflow macro, it appears in the Workflows table and its Allowed Hosts
are added to the Guided Scan > Workflows > Workflows > Manager Workflow page. You can
enable or disable access to particular hosts. For more information, see "Scan Settings: Allowed Hosts" on
page 355.
2. Accept or reject the suggestions that appear in the Optimize scan for drop-down box. To reject the
suggestion, select None or an alternate from the drop-down menu.
3. If necessary, provide any requested information.
4. Click the Next button.
Several options may be presented even if you do not run the Profiler, as described in the following
sections.
Autofill Web Forms
Select Auto-fill Web forms during crawl if you want Fortify WebInspect to submit values for input
controls on forms it encounters while scanning the target site. Fortify WebInspect will extract the values
from a prepackaged default file or from a file that you create using the Web Form Editor. See the "Web
Form Editor" chapter in the Tools Guide for Fortify WebInspect Products. You may:
1. Click the ellipsis button (...) to locate and load a file.
2. Click Edit to edit the selected file (or the default values) using the Web Form Editor.
3. Click Create to open the Web Form Editor and create a file.
Add Allowed Hosts
Use the Allowed Host settings to add domains to be crawled and audited. If your Web presence uses
multiple domains, add those domains here. For more information, see "Scan Settings: Allowed Hosts" on
page 355.
To add allowed domains:
1. Click Add.
2. In the Specify Allowed Host window, enter a URL (or a regular expression representing a URL) and
click OK.
Reuse Identified False Positives
Select scans containing vulnerabilities that were changed to false positives. If those false positives
match vulnerabilities detected in this scan, the vulnerabilities will be changed to false positives. For more
information, see "False Positives" on page 81.
To reuse identified false positives:
1. Select Import False Positives.
2. Click Select Scans.
3. Select one or more scans containing false positives from the same site you are now scanning.
4. Click OK.
Apply Sample Macro
Fortify WebInspect’s example banking application, zero.webappsecurity.com, uses a Web form login. If
you scan this site, select Apply sample macro to run the prepackaged macro containing the login
script.
Traffic Analysis
Select Launch and Direct Traffic through Web Proxy to use the Web Proxy tool to examine the
HTTP requests issued by Fortify WebInspect and the responses returned by the target server.
While scanning a Web site, Fortify WebInspect displays in the navigation pane only those sessions that
reveal the hierarchical structure of the Web site, plus those sessions in which a vulnerability was
discovered. However, if you select Enable Traffic Monitor, Fortify WebInspect adds the Traffic
Monitor button to the Scan Info panel, allowing you to display and review each HTTP request sent by
Fortify WebInspect and the associated HTTP response received from the server.
Message
If the Profiler does not recommend changes, the Guided Scan wizard displays the message "No settings
changes are recommended. Your current scan settings are optimal for this site."
The Enhance coverage of your web site task appears highlighted in the left pane.
Enhance coverage of your web site
To enhance coverage of your application, navigate to key locations in your application to enhance
coverage.
When using the Enhance Coverage of Your Web Site feature in Guided Scan in conjunction with the
Privilege Escalation policy, the explored locations are collected while authenticated with the high-
privilege login macro.
See "Unified Web Macro Recorder" in the Tools Guide for Fortify WebInspect Products for detailed
information about using the Web Macro Recorder to navigate key locations in your application for
Guided Scan to use during the scan.
See the Guided Scan Tutorial for more information about how to use this page of the Guided Scan
wizard. To launch the tutorial, click Tutorial in the upper right corner of the page.
Web Form Values
Guided Scan recorded all of the web form values that you entered while you explored your Web site.
Here you can review and modify the values, which are part of the scan settings that are saved with the
scan. In the Web Forms section of the toolbar, you can click Export to save the values to a separate file
or click Import to use an existing set of values. The scan settings, including the web form values, serve
as defaults that you can modify in future scans.
Click Next.
The Final Review page appears with Configure Detailed Options highlighted in the left pane.
Web Proxy is a stand-alone, self-contained proxy server that you can configure and run on your
desktop. Web Proxy allows you to monitor traffic from a scanner, a Web browser, or any other tool
that submits HTTP requests and receives responses from a server. Web Proxy is a tool for a
debugging and penetration scan; you can view every request and server response while browsing a
site.
2. Select the Traffic Monitor box to display and review each HTTP request sent by Fortify
WebInspect and the associated HTTP response received from the server.
While scanning a Web site, Fortify WebInspect displays only those sessions that reveal the
hierarchical structure of the Web site, plus those sessions in which a vulnerability was discovered.
However, if you select Enable Traffic Monitor, Fortify WebInspect allows you to display and
review each HTTP request sent by Fortify WebInspect and the associated HTTP response received
from the server.
3. Click Next.
The Validate Settings and Start Scan page appears with Configure Detailed Options highlighted in
the left pane.
Validate Settings and Start Scan
Options on this page allow you to save the current scan settings and, if WebInspect is integrated with
WebInspect Enterprise, to interact with WebInspect Enterprise.
1. To save your scan settings as an XML file, select Click here to save settings. Use the standard
Save as window to name and save the file.
2. If WebInspect is integrated with WebInspect Enterprise, a Templates section appears in the toolbar.
Continue according to the following table.
Save the current scan settings as a template in a. Do one of the following:
the WebInspect Enterprise database o Click Save in the Templates section of
Note: When editing an existing template, the toolbar.
the Save is actually an update. You can o Select Click here to save template.
save any edits to settings and change the The Save Template window appears.
Template Name. However, you cannot
b. Select an application from the Application
change the Application, Version, or Global
drop-down list.
Template settings.
c. Select an application version from the
Version drop-down list.
d. Type a name in the Template field.
Load scan settings from a template a. Click Load in the Templates section of the
toolbar.
A confirmation message appears advising
that your current scan settings will be lost.
3. If WebInspect is integrated with WebInspect Enterprise, the WebInspect Enterprise section appears
on this page. You can interact with WebInspect Enterprise as follows:
a. Select an application from the Application drop-down list.
b. Select an application version from the Version drop-down list.
c. Continue according to the following table.
4. In the Scan Now area, review your scan settings, and then click Start Scan to begin the scan.
Importing Micro Focus Unified Functional Testing (UFT) Files in a Guided Scan
If you have the Micro Focus Unified Functional Testing application installed, Fortify WebInspect detects
it and allows you to import a UTF file (.usr) into your workflow scan to enhance the thoroughness and
attack surface of your scan. For more information, see Unified Functional Testing on the Micro Focus
Web site.
To import a UTF (.usr) file into a Fortify WebInspect Guided Scan:
1. Launch a Guided Scan, and then select Workflow Scan as the Scan Type. Additional text appears
under the Workflows scan option: Micro Focus Unified Functional Testing has been detected. You
can import scripts to improve the thoroughness of your security test.
2. Click the Next button.
3. In the Authentication section, Application Authentication is automatically selected. Complete the
fields as indicated.
4. On the Manage Workflows screen, click Import. The Import Scripts dialog box appears. On the
Import Scripts dialog box, you may:
l Type the filename.
l Browse to your file by clicking to locate your file with a .usr extension. Select Micro Focus
Unified Functional Testing from the drop-down file type, and then navigate to the file.
l Click Edit to launch the Micro Focus Unified Functional Testing application.
5. (Optional) On the Import Scripts dialog box, you may select either of the following options:
l Show Micro Focus Unified Functional Testing UI during import
l Open script result after import
6. Select the file to import, and then click Import. After your file is successfully imported, the file
appears in the Workflows table.
7. Select one of the following from the Workflows table:
l Record - launches the WebInspect Unified Macro Recorder. For more information, see "Unified
Web Macro Recorder" in the Tools Guide for Fortify WebInspect Products.
l Edit - allows you to modify the file using the Unified Web Macro Recorder. See "Unified Web
Macro Recorder" in the Tools Guide for Fortify WebInspect Products.
l Delete - deletes the script from the Workflows table.
l Import - import another file.
l Export - saves a file in .webmacro format with the name and location you specify.
8. Click the Next button.
When the first .usr script file is added to the list, its name (or default name) appears in the
Workflows table and an Allowed Hosts table is added to the pane.
Adding another .usr script file can add more allowed hosts. Any host that is enabled is available to
all the listed workflow .usr script files, not just the workflow.usr file for which it was added. The
Guided Scan will play all the listed workflow files and make requests to all the listed allowed hosts,
whether or not their check boxes are selected. If a check box for an allowed host is selected, Fortify
WebInspect will crawl or audit the responses from that host. If a check box is not selected, Fortify
WebInspect will not crawl or audit the responses from that host. In addition, if a particular workflow
.usr script uses parameters, a Macro Parameters table is displayed when that workflow macro is
selected in the list. Edit the values of the parameters as needed.
9. After you have completed changes or additions to the Workflows table, proceed in the Guided Scan
wizard to complete your settings and run the scan. For more information about recording a new
login macro or using an existing login macro, see the "Unified Web Macro Recorder" chapter in the
Tools Guide for Fortify WebInspect Products.
See Also
"Guided Scan Overview " on page 105
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
to the site. If you created your own user string, it will appear as Custom. If the user agent is not
listed, you can create a custom user agent. See Creating a Custom User Agent Header.
The Guided Scan wizard displays the first step in the Native Mobile Stage: Verify Web Site.
Note: Fortify WebInspect supports Internet Protocol version 6 (IPv6) addresses in web site
and web service scans. When you specify the Start URL, you must enclose the IPv6 address in
brackets. For example:
l http://[::1]
Fortify WebInspect scans "localhost."
l http://[fe80::20c:29ff:fe32:bae1]/subfolder/
Fortify WebInspect scans the host at the specified address starting in the "subfolder"
directory.
l http://[fe80::20c:29ff:fe32:bae1]:8080/subfolder/
Fortify WebInspect scans a server running on port 8080 starting in "subfolder."
2. (Optional) To limit the scope of the scan to an area, select the Restrict to Folder check box, and
then select one of the following options from the list:
l Directory only (self). Fortify WebInspect and Fortify WebInspect Enterprise will crawl and/or
audit only the URL you specify. For example, if you select this option and specify a URL of
www.mycompany/one/two/, Fortify WebInspect or Fortify WebInspect Enterprise will assess
only the "two" directory.
l Directory and subdirectories. Fortify WebInspect or Fortify WebInspect Enterprise will begin
crawling and/or auditing at the URL you specify, but will not access any directory that is higher
in the directory tree.
l Directory and parent directories. Fortify WebInspect or Fortify WebInspect Enterprise will begin
crawling and/or auditing at the URL you specify, but will not access any directory that is lower in
the directory tree.
For information about limitations to the Restrict to folder scan option, see "Restrict to Folder
Limitations" on page 182.
3. Click Verify.
If the website is set up to be authenticated with a client certificate using a common access card
(CAC), then Guided Scan will prompt you with the following message:
The site <URL> is requesting a client certificate. Would you like to configure one now?
To configure a client certificate using a CAC:
a. Click Yes.
The Select a Client Certificate window appears.
b. Under Certificate Store, select Current User.
A list of available certificates appears in the Certificate area.
c. Locate and select a certificate that is prefixed with “(SmartCard)”.
Details about the certificate and a PIN field appear in the Certificate Information area.
d. If a PIN is required, type the PIN for the CAC in the PIN field, and then click Test.
Note: If a PIN is required and you do not enter the PIN at this point, you must enter the
PIN in the Windows Security window each time it prompts you for it during the scan.
4. If you must access the target site through a proxy server, click Proxy in the lower left of the main
screen to display the Proxy Settings area, and then select an option from the Proxy Settings list:
l Direct Connection (proxy disabled)
l Autodetect proxy settings: Use the Web Proxy Autodiscovery Protocol (WPAD) to locate a
proxy autoconfig file and use this to configure the browser's Web proxy settings.
l Use System proxy settings: Import your proxy server information from the local machine.
l Use Firefox proxy settings: Import your proxy server information from Firefox.
l Configure proxy settings using a PAC File: Load proxy settings from a Proxy Automatic
Configuration (PAC) file. If you select this option, click Edit to enter the location (URL) of the
PAC.
l Explicitly configure proxy settings: Specify proxy server settings as indicated. If you select
this option, click Edit to enter proxy information.
Note: Electing to use browser proxy settings does not guarantee that you will access the
Internet through a proxy server. If the Firefox browser connection settings are configured for
"No proxy," or if the Internet Explorer setting "Use a proxy server for your LAN" is not selected,
then a proxy server is not used.
When the Web site or directory structure appears, you have successfully verified your connection
to the Start URL.
5. Click Next.
The Choose Scan Type window appears.
3. In the Scan Method area, select one of the following scan methods:
l Crawl Only: This option completely maps a site's hierarchical data structure. After a crawl has
been completed, you can click Audit to assess an application’s vulnerabilities.
l Crawl and Audit: Fortify WebInspect or Fortify WebInspect Enterprise map the site’s
hierarchical data structure and audits each resource (page). Depending on the default settings
you select, the audit can be conducted as each resource is discovered or after the entire site is
crawled. For information regarding simultaneous vs. sequential crawl and audit, see "Crawl and
Audit Mode" on page 339.
l Audit Only: Fortify WebInspect or Fortify WebInspect Enterprise apply the methodologies of
the selected policy to determine vulnerability risks, but does not crawl the Web site. No links on
the site are followed or assessed.
4. In the Policy area, select a policy from the Policy list. For information about managing policies, see
the "Policy" chapter in the Tools Guide for Fortify WebInspect Products.
5. In the Crawl Coverage area, select the level of coverage you want using the Crawl Coverage slider.
For more information on crawl coverage levels, see "Coverage and Thoroughness" on page 169.
6. In the Single-Page Applications area, select Enable SPA support for crawling and auditing single-
page applications (SPAs). When enabled, the DOM script engine finds JavaScript includes, frame
and iframe includes, CSS file includes, and AJAX calls during the crawl, and then audits all traffic
generated by those events.
Caution! SPA support should be enabled for single-page applications only. Enabling SPA
support to scan a non-SPA website will result in a slow scan.
are:
Automatic
Allow Fortify WebInspect to determine the correct authentication type.
Automatic detection slows the scanning process. If you know and specify one of the other
authentication methods, scanning performance is noticeably improved.
Basic
A widely used, industry-standard method for collecting user name and password information.
a. The Web browser displays a window for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication window to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
3. To use a client certificate for network authentication, select Client Certificate.
Note: You can add a client certificate to a Windows phone, but the only way to subsequently
remove it is to restore the phone to its default settings.
4. In the Certificate Store area, select one of the following, and then select either the My or Root
radio button:
l Local Machine. Fortify WebInspect uses a certificate on the local machine based on your
selection in the Certificate Store area.
l Current User. Fortify WebInspect uses a certificate for the current user based on your selection
in the Certificate Store area.
5. To view certificate details in the Certificate Information area, select a certificate.
6. Click the Next button.
The Application Authentication page appears.
message is written in the scan log file. For more information and troubleshooting tips, see "Testing
Login Macros" on page 456.
The following options are available for login macros:
l "Using a Login Macro without Privilege Escalation " below
l "Using Login Macros for Privilege Escalation" below
l "Using a Login Macro when Connected to Fortify WebInspect Enterprise" on the next page
l "Using a Selenium IDE Macro" on page 133
l "Automatically Creating a Login Macro" on page 134
After recording or selecting the first macro and clicking the next arrow, a "Configure Low Privilege
Login Macro" prompt appears.
3. Do one of the following:
l To perform the scan in authenticated mode, click Yes. For more information, see "About
Privilege Escalation Scans" on page 188.
Guided Scan returns to the Select Login Macro window for you to create or select a low-privilege
login macro. Continue to Step 4.
l To perform the scan in unauthenticated mode, click No. For more information, see "About
Privilege Escalation Scans" on page 188.
The Application Authentication Step is complete. If you selected a Standard scan, the
Optimization Tasks page appears. If you selected a Workflows scan, the Manage Workflows
page appears.
4. Select the Low-Privilege User Account Login Macro check box. This login macro is for the lower-
privilege user account, such as a viewer or consumer of the site content.
5. Do one of the following:
l To use a pre-recorded login macro, click the ellipsis button (...) to browse for a saved macro. If
you are using a Selenium macro, see "Using a Selenium IDE Macro" on the next page.
l To edit an existing login macro shown in the Login Macro field, click Edit.
l To record a new macro, click Create.
For details about recording a new login macro or using an existing login macro, see the "Unified
Web Macro Recorder" chapter in the Tools Guide for Fortify WebInspect Products.
6. After recording or selecting the second macro, click the Next button.
If you selected a Standard scan, the Optimization Tasks page appears. If you selected a Workflows
scan, the Manage Workflows page appears.
4. Locate and select the file, and then click Open.
The Import Selenium Script window appears.
5. (Optional) To view and/or adjust how Selenium behaves during macro replay, click the Settings
plus (+) sign.
The Settings area expands and the default settings become visible. Make changes as necessary.
6. Click Verify.
Fortify WebInspect plays the macro, displaying the verification progress and status in the Import
Selenium Script window.
7. Did the macro play successfully?
l If yes, the message "Successfully verified macro" appears. Continue with Step 8.
l If no, an error message appears. Use the error message to debug and correct the error in
Selenium, and return to Step 2 of this procedure to try the import again.
8. Continue according to the following table.
To... Then...
To... Then...
Note: You cannot automatically create login macros for privilege-escalation and multi-user login
scans or for any scan using the Internet Explorer rendering engine.
If the macro is invalid and fails to log in to the application, an error message appears. For more
information and troubleshooting tips, see "Testing Login Macros" on page 456.
You can create multiple Workflows macros; one for each use case on your site. A logout signature is not
required. This type of macro is used most often to focus on a particular subsection of the application. If
you select multiple macros, they will all be included in the same scan. In addition to allowing you to select
multiple macros, you can also import Burp proxy captures and add them to your scan.
Important! If you use a login macro in conjunction with a workflow macro or startup macro or
both, all macros must be of the same type: all .webmacro files, all Burp Proxy captures, or all
Selenium macros. You cannot use different types of macros in the same scan.
To complete the Workflows settings, click any of the following in the Workflows table:
l Record. Opens the Unified Web Macro Recorder, allowing you to create a macro.
l Edit. Opens the Unified Web Macro Recorder and loads the selected macro.
l Delete. Removes the selected macro (but does not delete it from your disk).
l Import. Opens a standard file-selection window, allowing you to select a previously recorded
.webmacro file, Burp Proxy captures, or a Selenium macro. If using a Selenium macro, you will need to
click Verify for Fortify WebInspect to play the macro. If the macro does not play successfully, the
Import Selenium Script window displays an error. You will need to debug and correct the error in
Selenium, and return to this procedure to try the import again.
Note: If you have installed Micro Focus Unified Functional Testing (UFT) on your computer,
then Fortify WebInspect detects this automatically and displays an option to import a UFT .usr
file.
For more information, see "Importing Micro Focus Unified Functional Testing (UFT) Files in a
Guided Scan" on page 140.
l Export a recorded macro. After a macro is selected or recorded, you may optionally specify allowed
hosts. Opens a standard file-selection window, allowing you to save a recorded macro.
After you specify and play a workflow macro, it appears in the Workflows table and its Allowed Hosts
are added to the Guided Scan > Workflows > Workflows > Manager Workflow page. You can
enable or disable access to particular hosts. For more information, see "Scan Settings: Allowed Hosts" on
page 355.
4. Navigate to your Burp Proxy files and select the desired file.
5. Click Open.
3. Click Create to open the Web Form Editor and create a file.
Add Allowed Hosts
Use the Allowed Host settings to add domains to be crawled and audited. If your Web presence uses
multiple domains, add those domains here. For more information, see "Scan Settings: Allowed Hosts" on
page 355.
To add allowed domains:
1. Click Add.
2. In the Specify Allowed Host window, enter a URL (or a regular expression representing a URL) and
click OK.
Reuse Identified False Positives
Select scans containing vulnerabilities that were changed to false positives. If those false positives
match vulnerabilities detected in this scan, the vulnerabilities will be changed to false positives. For more
information, see "False Positives" on page 81.
To reuse identified false positives:
1. Select Import False Positives.
2. Click Select Scans.
3. Select one or more scans containing false positives from the same site you are now scanning.
4. Click OK.
Apply Sample Macro
Fortify WebInspect’s example banking application, zero.webappsecurity.com, uses a Web form login. If
you scan this site, select Apply sample macro to run the prepackaged macro containing the login
script.
Traffic Analysis
Select Launch and Direct Traffic through Web Proxy to use the Web Proxy tool to examine the
HTTP requests issued by Fortify WebInspect and the responses returned by the target server.
While scanning a Web site, Fortify WebInspect displays in the navigation pane only those sessions that
reveal the hierarchical structure of the Web site, plus those sessions in which a vulnerability was
discovered. However, if you select Enable Traffic Monitor, Fortify WebInspect adds the Traffic
Monitor button to the Scan Info panel, allowing you to display and review each HTTP request sent by
Fortify WebInspect and the associated HTTP response received from the server.
Message
If the Profiler does not recommend changes, the Guided Scan wizard displays the message "No settings
changes are recommended. Your current scan settings are optimal for this site."
Click Next.
The Enhance coverage of your web site task appears highlighted in the left pane.
review each HTTP request sent by Fortify WebInspect and the associated HTTP response received
from the server.
3. Click Next.
The Validate Settings and Start Scan page appears with Configure Detailed Options highlighted
in the left pane.
Validate Settings and Start Scan
Options on this page allow you to save the current scan settings and, if WebInspect is integrated with
WebInspect Enterprise, to interact with WebInspect Enterprise.
1. To save your scan settings as an XML file, select Click here to save settings. Use the standard
Save as window to name and save the file.
2. If WebInspect is integrated with WebInspect Enterprise, a Templates section appears in the toolbar.
Continue according to the following table.
Save the current scan settings as a template in a. Do one of the following:
the WebInspect Enterprise database o Click Save in the Templates section of
Note: When editing an existing template, the toolbar.
the Save is actually an update. You can o Select Click here to save template.
save any edits to settings and change the The Save Template window appears.
Template Name. However, you cannot
b. Select an application from the Application
change the Application, Version, or Global
drop-down list.
Template settings.
c. Select an application version from the
Version drop-down list.
d. Type a name in the Template field.
Load scan settings from a template a. Click Load in the Templates section of the
toolbar.
A confirmation message appears advising
that your current scan settings will be lost.
b. Click Yes.
The Load Template window appears.
c. Select an application from the Application
drop-down list.
d. Select an application version from the
Version drop-down list.
e. Select the template from the Template
drop-down list.
3. If WebInspect is integrated with WebInspect Enterprise, the WebInspect Enterprise section appears
on this page. You can interact with WebInspect Enterprise as follows:
a. Select an application from the Application drop-down list.
b. Select an application version from the Version drop-down list.
c. Continue according to the following table.
4. In the Scan Now area, review your scan settings, and then click Start Scan to begin the scan.
Importing Micro Focus Unified Functional Testing (UFT) Files in a Guided Scan
If you have the Micro Focus Unified Functional Testing application installed, Fortify WebInspect detects
it and allows you to import a UTF file (.usr) into your workflow scan to enhance the thoroughness and
attack surface of your scan. For more information, see Unified Functional Testing on the Micro Focus
Web site.
To import a UTF (.usr) file into a Fortify WebInspect Guided Scan:
1. Launch a Guided Scan, and then select Workflows Scan as the Scan Type. Additional text appears
under the Workflows scan option: Micro Focus Unified Functional Testing has been detected. You
can import scripts to improve the thoroughness of your security test.
2. Click the Next button.
3. In the Authentication section, Application Authentication is automatically selected. Complete the
fields as indicated.
4. On the Manage Workflows screen, click Import. The Import Scripts dialog box appears. On the
Import Scripts dialog box, you may:
l Type the filename.
l Browse to your file by clicking to locate your file with a .usr extension. Select Micro Focus
Unified Functional Testing from the drop-down file type, and then navigate to the file.
l Click Edit to launch the Micro Focus Unified Functional Testing application.
5. (Optional) On the Import Scripts dialog box, you may select either of the following options:
l Show Micro Focus Unified Functional Testing UI during import
l Open script result after import
6. Select the file to import, and then click Import. After your file is successfully imported, the file
appears in the Workflows table.
7. Select one of the following from the Workflows table:
l Record - launches the WebInspect Unified Macro Recorder. For more information, see "Unified
Web Macro Recorder" in the Tools Guide for Fortify WebInspect Products guide.
l Edit - allows you to modify the file using the Unified Web Macro Recorder. See "Unified Web
Macro Recorder" in the Tools Guide for Fortify WebInspect Products.
l Delete - deletes the script from the Workflows table.
l Import - imports another file.
l Export - saves a file in .webmacro format with the name and location you specify
8. Click the Next button.
When the first .usr script file is added to the list, its name (or default name) appears in the
Workflows table and an Allowed Hosts table is added to the pane.
Adding another .usr script file can add more allowed hosts. Any host that is enabled is available to
all the listed workflow .usr script files, not just the workflow.usr file for which it was added. The
Guided Scan will play all the listed workflow files and make requests to all the listed allowed hosts,
whether or not their check boxes are selected. If a check box for an allowed host is selected, Fortify
WebInspect will crawl or audit the responses from that host. If a check box is not selected, Fortify
WebInspect will not crawl or audit the responses from that host. In addition, if a particular
workflows .usr script uses parameters, a Macro Parameters table is displayed when that workflow
macro is selected in the list. Edit the values of the parameters as needed.
9. After you have completed changes or additions to the Workflows table, proceed in the Guided Scan
wizard to complete your settings and run the scan. For more information about recording a new
login macro or using an existing login macro, see the "Unified Web Macro Recorder" chapter in the
Tools Guide for Fortify WebInspect Products.
See Also
"Guided Scan Overview " on page 105
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
Supported Devices
Fortify WebInspect and Fortify WebInspect Enterprise support scanning the back-end traffic on
Android, Windows, and iOS devices.
Option Description
Profile The type of device or emulator you want to scan. Select a type from the drop-
down menu. For more information, see "Selecting a Profile" below.
Mobile The IP address and port number for the proxy that Fortify WebInspect or Fortify
Device/Emulator WebInspect Enterprise creates for listening to the traffic between your device or
Proxy emulator and the Web service or application being tested. Unless the IP address
and/or port are reserved for other activities, use the default settings. For more
information, see "Setting the Mobile Device Proxy Address" below.
Trusted The port and URL to acquire a client certificate for your device or emulator. To
Certificate download and install the certificate on your device or emulator, see "Adding a
Trusted Certificate" on the next page.
Selecting a Profile
To set the device profile, select one of the following from the Profile drop-down textbox:
l iOS Device - An iPad or iPhone running the latest version of iOS.
l iOS Simulator - The iOS emulator that is part of the iOS SDK.
l Android Device - A phone or tablet running the Android operating system.
l Android Emulator - The Android emulator that is part of the Android SDK.
l Windows Device - A Windows phone or Surface tablet.
Note: If you are unable to connect to the server or access the Internet after setting your proxy, you
may need to open up or change the port on your firewall specified in the Native Mobile stage. If it
still does not work, you may need to select a different IP address. The IP address presented in the
Fortify WebInspect/WebInspect Enterprise interface allows you to click the address and select an
alternate from a drop-down list.
5. Scroll down further and type in the Server IP address and the Port number provided by Fortify
WebInspect or Fortify WebInspect Enterprise. If you don't have this information, see "Choose
Device/Emulator Type Step" on the previous page.
6. In Fortify WebInspect or Fortify WebInspect Enterprise, click the Verify button in the Trusted
Certificate section to verify the connection is working properly.
The Verify activity progress bar appears.
7. Launch the default browser on your device and visit any site to verify that Fortify WebInspect or
Fortify WebInspect Enterprise is able to see the back-end traffic.
If everything is configured properly, after a few moments, the Verify activity progress bar will state
that the traffic has been successfully verified.
8. Click OK to dismiss the verification progress bar and then click Next to select a scan type.
To set up a proxy on an Android or Windows device, consult your operator’s instructions.
Note: You can add a client certificate to a Windows phone, but the only way to subsequently
remove it is to restore the phone to its default settings.
Note: After completing the scan, you should remove the certificate from the repository on your
device. See "Post Scan Steps " on page 156.
Note: The WebInspect Root certificate status will display as Not Trusted until you add it to
your root chain.
Option Description
Scan Name Type a name for the scan so that later you can identify the scan on the Manage Scans
page.
Scan Choose the type of scan you want from the following list:
Method
Crawl Only: maps the attack surface of the specified workflow(s).
Crawl and Audit: maps the attack surface of the specified workflow(s) and scans for
vulnerabilities.
Audit Only: only attack the specified workflows.
Policy Select a policy for the scan from the drop-down menu. For more information on
policies, see "Fortify WebInspect Policies" on page 424. For information on creating
and editing policies, see the "Policy Manager" chapter in the Tools Guide for Fortify
WebInspect Products.
Crawl Select the level of coverage you want using the Crawl Coverage slider.
Coverage
Enable When this option is selected for crawling and auditing single-page applications
SPA support (SPAs), the DOM script engine finds JavaScript includes, frame and iframe includes,
CSS file includes, and AJAX calls during the crawl, and then audits all traffic
generated by those events.
Option Description
a. The Web browser displays a window for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication window to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
3. Type in the User Name and Password.
Note: Certificates used by a common access card (CAC) reader are user certificates and are
stored under Current User.
1. Select the High-Privilege User Account Login Macro check box. This login macro is for the
higher-privilege user account, such as a Site Administrator or Moderator account.
2. Do one of the following:
l To use a pre-recorded login macro, click the ellipsis button (...) to browse for a saved macro. If
you are using a Selenium IDE macro, see "Using a Selenium IDE Macro" on the next page.
l To edit an existing login macro shown in the Login Macro field, click Edit.
l To record a new macro, click Create.
For details about recording a new login macro or using an existing login macro, see the "Unified
Web Macro Recorder" chapter in the Tools Guide for Fortify WebInspect Products.
After recording or selecting the first macro and clicking the next arrow, a "Configure Low Privilege
Login Macro" prompt appears.
3. Do one of the following:
l To perform the scan in authenticated mode, click Yes. For more information, see "About
Privilege Escalation Scans" on page 188.
Guided Scan returns to the Select Login Macro window for you to create or select a low-privilege
login macro. Continue to Step 4.
l To perform the scan in unauthenticated mode, click No. For more information, see "About
Privilege Escalation Scans" on page 188.
The Application Authentication Step is complete. Proceed to the Application Stage.
4. Select the Low-Privilege User Account Login Macro check box. This login macro is for the lower-
privilege user account, such as a viewer or consumer of the site content.
5. Do one of the following:
l To use a pre-recorded login macro, click the ellipsis button (...) to browse for a saved macro. If
you are using a Selenium IDE macro, see "Using a Selenium IDE Macro" on the next page.
l To edit an existing login macro shown in the Login Macro field, click Edit.
l To record a new macro, click Create.
For details about recording a new login macro or using an existing login macro, see the "Unified
Web Macro Recorder" chapter in the Tools Guide for Fortify WebInspect Products.
6. After recording or selecting the second macro, click the Next button.
The Application Authentication Step is complete. Proceed to the Application Stage to run your
application.
3. Select the Application and Version from the drop-down lists.
4. Select a repository macro from the Macro drop-down list.
5. Click OK.
Note: Selecting a repository macro automatically syncs the Application and Version on the Final
Review page under Automatically Upload Scan to WIE.
4. Locate and select the file, and then click Open.
The Import Selenium Script window appears.
5. (Optional) To view and/or adjust how Selenium behaves during macro replay, click the Settings
plus (+) sign.
The Settings area expands and the default settings become visible. Make changes as necessary.
6. Click Verify.
Fortify WebInspect plays the macro, displaying the verification progress and status in the Import
Selenium Script window.
7. Did the macro play successfully?
l If yes, the message "Successfully verified macro" appears. Continue with Step 8.
l If no, an error message appears. Use the error message to debug and correct the error in
Selenium, and return to Step 2 of this procedure to try the import again.
8. Continue according to the following table.
To... Then...
To... Then...
Scan Mode. A crawl-only feature. Allows you to set Discovery (Path Truncation) Path truncation allows
you to make requests for known directories without file names. This can cause directory listings to be
displayed. You can also select the Passive Analysis (Keyword Search) option to examine every response
from the Web server for (error messages, directory listings, credit card numbers, etc. ) not properly
protected by the Web site.
Save the current scan settings as a template in a. Do one of the following:
the WebInspect Enterprise database o Click Save in the Templates section of
Note: When editing an existing template, the toolbar.
the Save is actually an update. You can o Select Click here to save template.
save any edits to settings and change the The Save Template window appears.
Template Name. However, you cannot
b. Select an application from the Application
change the Application, Version, or Global
drop-down list.
Template settings.
c. Select an application version from the
Version drop-down list.
d. Type a name in the Template field.
Load scan settings from a template a. Click Load in the Templates section of the
toolbar.
A confirmation message appears advising
that your current scan settings will be lost.
b. Click Yes.
The Load Template window appears.
c. Select an application from the Application
drop-down list.
d. Select an application version from the
Version drop-down list.
e. Select the template from the Template
drop-down list.
3. If WebInspect is integrated with WebInspect Enterprise, the WebInspect Enterprise section appears
on this page. You can interact with WebInspect Enterprise as follows:
a. Select an application from the Application drop-down list.
b. Select an application version from the Version drop-down list.
c. Continue according to the following table.
4. In the Scan Now area, review your scan settings, and then click Start Scan to begin the scan.
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
l Scan with Existing Design File - Click to open a standard file-selection dialog box and
choose a Web Service Test Design (WSD) file that you previously created using the Web Service
Test Designer. This file contains values for each operation in the service.
4. Click Next.
Note: On any window presented by the Web Service Scan Wizard, you can click Settings (at the
bottom of the window) to modify the default settings or to load a settings file that you previously
saved. Any changes you make will apply to this scan only and will not be retained in the default
settings file. To make and retain changes to default settings, click the Fortify WebInspect Edit menu
and select Default Scan Settings.
Note: Electing to use browser proxy settings does not guarantee that you will access the
Internet through a proxy server. If the Firefox browser connection settings are configured for
"No proxy," or if the Internet Explorer setting "Use a proxy server for your LAN" is not selected,
then a proxy server will not be used.
2. If server authentication is required, select Network Authentication and then select
an authentication method and enter your network credentials. The authentication methods are:
Automatic
Allow Fortify WebInspect to determine the correct authentication type.
Automatic detection slows the scanning process. If you know and specify one of the other
authentication methods, scanning performance is noticeably improved.
Basic
A widely used, industry-standard method for collecting user name and password information.
a. The Web browser displays a window for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication window to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
Congratulations
1. If you anticipate running this scan again, you can save the settings in an XML file. Click the Save
hyperlink to name and save the file.
When starting a scan through the Web Service Scan Wizard, you can click Settings (at the bottom
of the window) to load this settings file.
2. If you are scheduling a scan, you can also elect to generate a report when the scan completes.
Select the Generate Report check box, and then click the Select reports hyperlink.
3. Click Scan (or click Schedule, if you are scheduling a scan).
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
or both, all macros must be of the same type: all .webmacro files, all Burp Proxy captures, or
all Selenium macros. You cannot use different types of macros in the same scan.
l API Scan: Create a macro from a REST API definition and perform an automated analysis.
Important! If HTTP Authorization credentials, such as a bearer token, are needed to access
the API definition, then before starting the scan, you must add the information as a Custom
Header in Scan Settings: Cookies/Headers as described in "Adding a Custom Header" on
page 369.
Example Header:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
4. Continue according to the following table.
If you
selected... Then follow these instructions...
Standard Scan a. In the Start URL box, type or select the complete URL or IP address of
the site you want to examine.
If you enter a URL, it must be precise. For example, if you enter
MYCOMPANY.COM, Fortify WebInspect will not scan
WWW.MYCOMPANY.COM or any other variation (unless you specify
alternatives in the Allowed Hosts setting).
An invalid URL or IP address will result in an error. If you want to scan
from a certain point in your hierarchical tree, append a starting point for
the scan, such as http://www.myserver.com/myapplication/.
Scans by IP address will not pursue links that use fully qualified URLs (as
opposed to relative paths).
Fortify WebInspect supports both Internet Protocol version 4 (IPV4)
and Internet Protocol version 6 (IPV6). IPV6 addresses must be
enclosed in brackets. For more information, see "Internet Protocol
Version 6 " on page 337.
b. If you select Restrict to folder, you can limit the scope of the scan to
the area you choose from the drop-down list. The choices are:
o Directory only - Fortify WebInspect will crawl and/or audit only the
URL you specify. For example, if you select this option and specify a
URL of www.mycompany/one/two/, Fortify WebInspect will assess
only the "two" directory.
o Directory and subdirectories - Fortify WebInspect will begin
crawling and/or auditing at the URL you specify, but will not access
any directory that is higher in the directory tree.
If you
selected... Then follow these instructions...
Manual Scan a. Enter a Start URL and, if desired, select Restrict to folder. See
Standard Scan described previously.
b. In the Browser drop-down list, select Firefox or Internet Explorer as the
browser to use for the manual scan.
API Scan a. In the API Definition URL box, provide the URL to the Swagger or
OData definition file, as shown in the following example:
http://172.16.81.36/v1
Tip: Alternatively, you can paste in the full path to a definition file
that is saved on your local machine.
b. In the API Type drop-down list, select the API type to be scanned. The
options are Swagger and Odata.
Note: Fortify WebInspect supports the following REST API
definitions and protocols:
o OpenAPI Specification versions 2.0 and 3.0 (formerly known as
Swagger Specification). For more information, visit the Swagger
website at http://swagger.io/.
If you
selected... Then follow these instructions...
Note: Electing to use browser proxy settings does not guarantee that you will access the
Internet through a proxy server. If the Firefox browser connection settings are configured for
"No proxy," or if the Internet Explorer setting "Use a proxy server for your LAN" is not selected,
then a proxy server will not be used.
2. Select Network Authentication if server authentication is required. Then select an authentication
method and enter your network credentials. The authentication methods are:
Basic
A widely used, industry-standard method for collecting user name and password information.
a. The Web browser displays a window for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication window to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
Automatic
Allow Fortify WebInspect to determine the correct authentication type.
Automatic detection slows the scanning process. If you know and specify one of the other
authentication methods, scanning performance is noticeably improved.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
3. To configure a client certificate for a website, click Settings > Authentication and continue as
follows:
a. In the Client Certificates area, select the Enable check box.
b. Click Select.
The Client Certificates window opens.
c. Do one of the following:
o To use a certificate that is local to the computer and is global to all users on the computer,
select Local Machine.
o To use a certificate that is local to a user account on the computer, select Current User.
Note: Certificates used by a common access card (CAC) reader are user certificates and
are stored under Current User.
Note: If a PIN is required and you do not enter the PIN at this point, you must enter
the PIN in the Windows Security window each time it prompts you for it during the
scan.
passwords that allows you to log in to the target site. The macro must also contain a "logout
condition," which indicates when an inadvertent logout has occurred so Fortify WebInspect can
rerun this macro to log in again.
If Enable macro validation is selected in Scan Settings: Authentication for scans that use a login
macro, Fortify WebInspect tests the login macro at the start of the scan to ensure that the log in is
successful. If the macro is invalid and fails to log in to the application, the scan stops and an error
message is written in the scan log file. For more information and troubleshooting tips, see "Testing
Login Macros" on page 456.
Continue according to the following table.
To... Then...
Use a pre-recorded Web Macro Click the ellipsis button (...) to select a macro.
Recorder macro If, after selecting the macro, you want to modify it using
the Web Macro Recorder, click Edit.
Tip: To erase the macro name, clear the Site
Authentication check box.
c. Locate and select the file, and then click Open.
The Import Selenium Script window appears.
d. (Optional) To view and/or adjust how Selenium
behaves during macro replay, click the Settings plus
(+) sign.
The Settings area expands and the current settings
become visible. Make changes as necessary.
e. Click Verify.
Fortify WebInspect plays the macro, displaying the
verification progress and status in the Import
Selenium Script window.
To... Then...
Settings
1. Accept or reject the suggestions. To reject, clear the associated check box.
2. If necessary, provide the requested information.
3. Click Next.
Several options may be presented even if you do not run the Profiler. They include:
l Auto fill Web forms
l Add allowed hosts
l Reuse identified false positives
l Apply sample macro
l Traffic analysis
l Click Edit to edit the selected file (or the default values) using the Web Form Editor.
l Click Create to open the Web Form Editor and create a file.
Sample Macro
Fortify WebInspect’s example banking application, zero.webappsecurity.com, uses a Web form login. If
you scan this site, select Apply sample macro to run the sample macro containing the login script.
Traffic Analysis
Select Launch and Direct Traffic through Web Proxy to use the Web Proxy tool to examine the
HTTP requests issued by Fortify WebInspect and the responses returned by the target server.
While scanning a Web site, Fortify WebInspect displays in the navigation pane only those sessions that
reveal the hierarchical structure of the Web site, plus those sessions in which a vulnerability was
discovered. However, if you select Enable Traffic Monitor, Fortify WebInspect adds the Traffic
Monitor button to the Scan Info panel, allowing you to display and review each HTTP request sent by
Fortify WebInspect and the associated HTTP response received from the server.
Message
If the profiler does not recommend changes, the Scan Wizard displays the message, "No settings
changes are recommended. Your current scan settings are optimal for this site."
Congratulations
The contents of this window vary, depending your choices and configuration.
Save Settings
You can save the settings you configured for this scan, which would allow you to reuse the settings for
a future scan.
Generate Reports
If you are scheduling a scan, you can instruct Fortify WebInspect to generate a report when the scan
completes.
1. Select Generate Reports.
2. Click the Select reports hyperlink.
3. (Optional) Select a report from the Favorites list.
A "favorite" is simply a named collection of one or more reports and their associated parameters. To
create a favorite once you have selected reports and parameters, click the Favorites list and select
Add to favorites.
4. Select one or more reports.
5. Provide information for any parameters that may be requested. Required parameters are outlined
in red.
6. Click Next.
7. If you select Automatically Generate Filename, the name of the report file will be formatted as
<reportname> <date/time>.<extension>. For example, if creating a compliance report in pdf
format and the report is generated at 6:30 on April 5, the file name would be "Compliance
Report 04_05_2009 06_30.pdf." This is useful for recurring scans.
Reports are written to the directory specified for generated reports in the Application settings.
8. If you did not select Automatically Generate Filename, enter a name for the file in the Filename
box.
9. Select the report format from the Export Format list.
10. If you selected multiple reports, you can combine then all into one report by selecting Aggregate
reports into one report.
11. Select a template that defines the headers and footers used for the report and, if necessary,
provide the requested parameters.
12. Click Finished.
13. Click Schedule.
Automatic detection slows the scanning process. If you know and specify one of the other
authentication methods, scanning performance is noticeably improved.
Basic
A widely used, industry-standard method for collecting user name and password information.
a. The Web browser displays a window for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication window to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
NT LAN Manager (NTLM)
NTLM is an authentication process that is used by all members of the Windows NT family of
products. Like its predecessor LanMan, NTLM uses a challenge/response process to prove the
client’s identity without requiring that either a password or a hashed password be sent across the
network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site.
Caution! After configuring Fortify WebInspect for NTLM authentication and scanning the
NTLM-protected sites, you might want to disable the NTLM authentication settings to prevent
any potential problem.
4. If your proxy server requires authentication, enter the qualifying user name and password.
5. If you do not need to use a proxy server to access certain IP addresses (such as internal testing
sites), enter the addresses or URLs in the Bypass Proxy For box. Use commas to separate entries.
See Also
"Running a Basic Scan" on page 160
3. If you entered a regular expression for the allowed host, select Use Regular Expression.
For assistance creating a regular expression, click (to the right of the Allowed Host box).
4. Click OK.
Known Limitations
The following known limitations apply to the multi-user login feature:
l When using this feature, Fortify WebInspect does not detect several login-related Securebase checks.
l This feature currently supports only shared requestor threads. Using default scan settings with
separate crawl and audit threads is not supported. For more information, see "Scan Settings:
Requestor" on page 348.
l The scan does not distribute the work equally among the multiple users logged in. For example, one
configured user might use up to 75% of the scan activities while all other users are allocated to the
remaining 25% of scan activities.
Process Overview
To configure a multi-user login scan, use the process described in the following table.
Stage Description
1. Set the shared requestor to the desired number of users. For more information, see "Scan
Settings: Requestor" on page 348.
Important! The number of shared requestor threads should not be more than the
number of configured users. Requestor threads without valid users will cause the scan
to run longer. Remember to count the original username and password in the
parameterized macro as the first user when you configure multiple users.
2. Ensure that you have a login macro with parameterized username and password. For more
information, see the Parameters Editor topic in the Unified Web Macro Recorder chapter of
the Micro Focus Fortify WebInspect Tools Guide.
3. In the Basic Scan wizard or Guided Scan wizard, enable the multi-user checkbox as
described in "Configuring a Multi-user Login Scan" on the next page.
4. Add credentials for multiple users as described in "Adding Credentials" on the next page.
5. Continue through the scan wizard as normal and conduct the scan.
l To use an existing macro, click ... and select a saved macro that already has parameterized
credentials.
4. Select the Multi-user Login checkbox.
Note: If you clear the Multi-user Login checkbox prior to running the scan, the additional
credentials will not be used during the scan. Fortify WebInspect will use only the original
credentials recorded in the login macro.
Adding Credentials
To add credentials:
1. Under Multi-user Login, click Add.
The Multi-user Credential Input dialog box appears.
2. In the Username field, type a username
3. In the Password field, type the corresponding password.
Editing Credentials
To edit credentials:
1. Under Multi-user Login, select a Username/Password pair and click Edit.
The Multi-user Credential Input dialog box appears.
2. Edit the credentials as needed.
3. Click OK.
Deleting Credentials
To delete credentials:
1. Under Multi-user Login, select a Username/Password pair to be removed.
2. Click Delete.
Interactive Scans
Web applications using two-factor authentication or similar anti-scanning technology require an
interactive scan configuration in WebInspect. In an interactive scan, you are presented with a browser
window asking for user input for authentication. You can configure an automated interactive scan that
will pause only when an input field is encountered. This pause affects only the Requestor thread that
encounters the input field. The remaining threads are unaffected.
This configuration works for CAPTCHA, RSA ID token fields, virtual PIN pads, virtual keyboards, and
common access card (CAC) readers where the PIN or input is dynamic and changes.
Tip: For websites that use a CAC reader with a static PIN, you can configure the scan to use CAC
certificates. See one of the following topics:
l "Scan Settings: Authentication" on page 373
l "Running a Basic Scan" on page 160
l "Using the Native Scan Template" on page 142
l "Using the Mobile Scan Template" on page 124
l "Using the Predefined Template" on page 107
Stage Description
Stage Description
5. Save the scan settings and use them in a Fortify WebInspect scan.
Important! You must watch for the pop-ups to enter the form value as needed.
Login Macros
If you use a login macro, then sessions requested in the macro will be listed in the site tree. The sessions
will be passively audited, meaning that no attacks will be sent, but vulnerabilities such as weak
encryption, unencrypted login forms, and so on might be revealed.
Workflow Macros
If you use a workflow macro in a Crawl and Audit scan or a Crawl Only scan, then the scan might violate
the Restrict to folder option. The assumption is that you wish to visit the URLs included in the workflow
macro.
ii. In the IPV4/IPV6 Addresses (or ranges) box, type one or more IP addresses or a range
of IP addresses.
l Use a semicolon to separate multiple addresses.
Example: 172.16.10.3;172.16.10.44;188.23.102.5
l Use a dash or hyphen to separate the starting and ending IP addresses in a range.
Example: 10.2.1.70-10.2.1.90.
Note: IPV6 addresses must be enclosed in brackets. See "Internet Protocol Version 6 "
on page 337.
iii. In the Ports (or ranges) box, type the ports you want to scan.
l Use a semicolon to separate multiple ports.
Example: 80;8080;443
l Use a dash or hyphen to separate the starting and ending ports in a range.
Example: 80-8080.
iv. (Optional) Click Settings to modify the number of sockets and timeout parameters used
for the discovery process.
v. Click Start to initiate the discovery process.
Results display in the Discovered End Points area.
l Click an entry in the IP Address column to view that site in a browser.
l Click an entry in the Identification column to open the Session Properties window,
where you can view the raw request and response.
vi. To remove a server from the list, clear the associated check box in the Selection column.
vii. Click OK.
The IP addresses appear in the "Hosts to Scan" list.
l Enter individual URLs or IP addresses of hosts to scan.
To manually enter a list of URLs or IP addresses you want to scan.
i. Click Add.
The Scan Wizard opens.
ii. Provide the information described in "Running a Basic Scan" on page 160.
iii. Repeat for additional servers.
l Import a list of servers that you want to scan (using a list that you previously created).
If you previously used the Enterprise Scan feature or the Web Discovery tool to detect servers
and then exported your findings to a text file, you can load those results by clicking Import and
then selecting the saved file.
Export a List
To save the "Hosts to Scan" list:
1. Click Export.
2. Using a standard file-selection window, specify the file name and location.
Note: Fortify WebInspect licenses permit users to scan specific IP addresses or a range of
addresses. If a server has an IP address that is not permitted by your license, that server will not be
included in the scan.
Fortify WebInspect displays the Step Mode view in the Navigation pane, which lists the URL of
each resource you visited.
l Unauthenticated Mode – This mode uses only a high-privilege login macro. In this mode, the low-
privilege crawl is actually an unauthenticated crawl. Any privilege escalation detected during this scan
is moving from unauthenticated to high privilege. You can perform this type of scan using Guided
Scan (and providing only a high-privilege login macro) or the Basic Scan wizard. For more
information, see "Running a Basic Scan" on page 160.
pages are forbidden for the current user. Therefore, these pages are not identified as being vulnerable
for privilege escalation. However, if your site uses other privilege restriction text that does not match
the built-in regex pattern, you must modify the regex to include your own text patterns. Otherwise, the
Privilege Escalation check may generate false positives for those pages.
Modifying Regex for Privilege Restriction Patterns
1. Click Edit > Default Scan Settings.
The Default Settings window appears.
2. Select Attack Exclusions in the Audit Settings group.
3. Click Audit Inputs Editor….
The Audit Inputs Editor appears
4. Select Check Inputs.
5. Select check 11388 Privilege Escalation.
The Privilege Restriction Patterns appear in the right pane. By default, the pattern is as follows:
‘forbidden|restricted|access\sdenied|(?:operation\snot\s
(?:allowed|permitted|authorized))|(?:you\s(?:do\snot|don’t)\shave\s
(?:access|permission|authorization))|(?:you\s(?:are\snot|aren’t)\s
(?:allowed|permitted|authorized))’
6. Using regex syntax, add any new forbidden action words that are used in your site.
7. Click OK to save the revised Check Inputs.
8. Click OK to close the Default Settings window.
index.php?id=2
index.php?id=1
index.php?id=3
then during the high-privilege scan, Fortify WebInspect finds “index.php?id=1” and during the low-
privilege scan, it finds “index.php?id=3”. In this scenario, Fortify WebInspect will mark
“index.php?id=1” with a Privilege Escalation vulnerability. This vulnerability will be a false positive.
For more information, see "Scan Settings: General" on page 341.
index.php?_=1440601463586
index.php?_=1440601465662
index.php?_=1440601466365
you would add the parameter to the list of HTTP Parameters Used For State as shown below:
Technology Preview
Technology preview features are currently unsupported, may not be functionally complete, and are not
suitable for deployment in production. However, these features are provided as a courtesy and the
primary objective is for the feature to gain wider exposure with the goal of full support in the future.
Caution! SPA support should be enabled for single-page applications only. Enabling SPA support
to scan a non-SPA website will result in a slow scan.
See also
"Scan Settings: JavaScript" on page 346
"Using the Predefined Template" on page 107
"Using the Mobile Scan Template" on page 124
"Using the Native Scan Template" on page 142
Scan Status
Unless otherwise specified, the scan status is read directly from the database. Scan statuses are
described in the following table.
Status Description
Running A scheduled scan or a scan initiated through the command-line interface (CLI) is
currently running on the local machine.
Locked Another instance of Fortify WebInspect has initiated the scan, which is running and its
heartbeat has not expired.
Open A user on the local machine has the scan open in Fortify WebInspect. The user may be
the current user (in which case, the scan can be seen on the Scan tab) or it may be
another user on the same machine (when using Terminal services, for example). The
state stored in the scan database is ignored.
Interrupted The Fortify WebInspect or CLI instance that was last using the scan crashed. The
following conditions must be met:
l The remote database has a status of "Running."
l The heartbeat has expired.
l The scan is not open on the local machine.
Incomplete The user has paused the scan and closed it. It has not finished running.
the Open, Running, or Locked state, the Duration column will show that the value is unavailable
(instead of a number the user will see "-").
To see any other status changes or updated count information, the user MUST click the refresh button.
See Also
"Scheduled Scan Status " on page 209
Comparing Scans
You can compare the vulnerabilities revealed by two different scans of the same target and use this
information to:
l Verify fixes: Compare vulnerabilities detected in the initial scan with those in a subsequent scan of the
same site after the vulnerabilities were supposedly fixed.
l Check on scan health: Change scan settings and verify that those changes expand the attack surface.
l Find new vulnerabilities: Determine if new vulnerabilities have been introduced in an updated version
of the site.
l Investigate Issues: Pursue anomalies such as false positives or missed vulnerabilities.
l Compare authorization access: Conduct scans using two different user accounts to
discover vulnerabilities that are unique or common to both accounts.
Note: Data from both scans must be stored in the same database type (SQL Server Express Edition
or SQL Server Standard/Enterprise Edition).
l From the Manage Scans page, select two scans and click Compare.
l From a tab containing an open scan (which will be Scan A in the comparison):
a. Click Compare.
b. Select a scan from the list on the Scan Comparison window. This scan will be Scan B in the
comparison.
c. Click Compare.
Note: If the open scan is a "site retest" (resulting from Rescan > Retest Vulnerabilities), Fortify
WebInspect automatically selects the parent scan for comparison. For example, if you created a
scan named "zero," and then verified vulnerabilities for that scan, the resulting scan would be
named (by default) "site retest - zero." With the retest scan open, if you select Compare, Fortify
WebInspect will compare "site retest - zero" with the parent scan "zero."
A warning message appears if the selected scans have different start URLs or used different scan
policies, or if the scans are of a different type (such as a Basic Scan vs. a Web service scan). You can
choose to continue, or you can terminate the function.
You cannot conduct a comparison if either of the scans is currently running.
Scan Compare Image
Scan Descriptions
The Scan A and Scan B boxes provide the following information of the scans:
l Scan A or Scan B: Name of the scan.
l Date: Date and time the original scan was conducted.
l Policy: Policy used for the scan; see "Fortify WebInspect Policies" on page 424 for more information.
l Issues: Total number of issues identified on the Vulnerabilities tab, the Information tab, and the Best
Practices tab, as well as false positives detected.
l Unique/Total: Number of unique sessions created for this scan (that is, the number of sessions that
appear in this scan and not the other scan), compared to the total number of sessions for this scan.
l Coverage: Percentage of sessions that are common to both scans.
B, and in their intersection (Intersect). The same color coding is used as in the Venn diagram. These bar
charts do not change based on the selected Compare Mode.
l Site B - https://zero.webappsecurity.com/
l Host
l Site A - http://dev.foo.com/index.html?par1=123&par2=123
l Site B - http://qa.foo.com/index.html?par1=123&par2=123
l Port
l Site A - http://zero.webappsecurity.com:80/
l Site B - http://zero.webappsecurity.com:8080/
Compare Modes
You can select one of the following options in the Compare Mode section to the left of the Scan
Dashboard to display different data in the Sequence area in the left pane (the data in the Scan
Dashboard is not affected):
l Mutual Exclusion: Lists sessions that appear in Scan A or Scan B, but not in both scans
l Only In A: Lists sessions that appear only in Scan A
l Only in B: Lists sessions that appear only in Scan B
l Union (the default): Lists sessions that appear in Scan A, Scan B, or both Scans A & B
Session Filtering
The Sequence pane lists each session that matches the selected Compare Mode. An icon to the left of
the URL indicates the severity of the vulnerability, if any, for that session. The severity icons are:
At the top of the Sequence pane, you can specify a filter and click Filter to limit the set of displayed
sessions in the following ways:
l You can enter the URL with only its starting characters, as a "starts with" match. Your entry must
begin with the protocol (http:// or https://).
l You can search for an exact match by specifying the URL in quotes. Your entry must begin with the
quotes and protocol ("http:// or "https://)
l You can use an asterisk (*) as a wildcard character at the beginning or end of the string you enter.
l You can use asterisks (*) at both the beginning and end of the string you enter, which requires
matches to contain the string between the asterisks.
l You can enter a question mark (?) followed by a full query parameter string to find matches to that
query parameter.
Note: The Steps option displays the path taken by Fortify WebInspect to arrive at the session
selected in the Sequence pane or the URL selected in the Summary pane. Beginning with the
parent session (at the top of the list), the sequence reveals the subsequent URLs visited and
provides details about the scan methodology. In a scan comparison, if any of the steps for the
session are different between the scans, the In Both column is added to the Steps table (as the first
column). A value of Yes in the column for a particular step indicates that the step is the same for
that session for both scans A and B. A value of No in the column for a particular step indicates that
the step is different for that session between scans A and B.
Filtering Vulnerabilities
You can click the filter icon ( ) at the right of any column heading to open a filter that allows you to
choose a variety of conditions regarding that column that must be met in order for a vulnerability (row)
to remain listed in the table after filtering. The available conditions include the full set of current values
in the column, and you can also specify logical expressions regarding the content of that column.
For example, in the filter for the Vuln Parameter column, suppose you:
1. Leave the top set of check boxes as is.
2. Below the Show rows with value that text, select Contains from the drop-down menu.
3. Type Id in the text box below the drop-down menu.
4. Click Filter.
Then the table will show only rows that contain the text "Id" in the Vuln Parameter column. This would
include rows for which the value of Vuln Parameter is accountId or payeeId or any other entry that
includes "Id."
You can specify filters for multiple columns, one column at a time, and they will all be applied.
If a filter for a column has been specified, its icon becomes a darker blue than the icons for unused
filters.
To quickly clear a filter, click Clear Filter while the filter is open to be specified.
See also
"Summary Pane" on page 97
"Using Filters and Groups in the Summary Pane" on page 235
Manage Scans
To manage scans:
1. On the Start Page, click Manage Scans.
Note: You can also perform most of these functions by right-clicking an entry and selecting a
command from the shortcut menu. In addition, you can also choose to generate a report. For more
information, see "Generating a Report" on page 255.
See Also
"Managing Scheduled Scans " on page 205
"Start Page " on page 51
Reusing Scans
Reusing a scan uses data from a previous scan to assist a new scan. Two scans are involved when
conducting a reuse scan:
l The reuse scan is the new scan being conducted.
l The source or baseline scan is the scan from which data is used to reduce the work and time needed
to complete a reuse scan.
Reuse Options
Four options for scan reuse are available:
l Reuse Incremental — find new attack surface. This scan performs a normal crawl and compares each
session to the baseline scan. Only new sessions that did not exist in the baseline scan are audited. For
more information, see "Incremental Scan" on the next page.
l Reuse Crawl — import the crawl sessions from the baseline scan. This scan does not perform a crawl,
but performs an audit on all sessions from the baseline scan.
l Reuse Remediation — look for vulnerabilities that were found in the baseline scan. This scan creates
a policy that includes only those checks that flagged in the baseline scan, and audits the site again
using this custom policy. Therefore, this scan looks at only the checks that flagged in the baseline
scan.
l Reuse Crawl Remediation — reuse the crawl from the baseline scan. This scan uses the crawl from
the baseline scan to look for vulnerabilities that were found in the baseline scan.
Reusing a Scan
To reuse a scan:
1. Do one of the following:
l From an open scan, click Rescan and select the reuse option you want from the drop-down
menu.
l On the Manage Scans page, right-click a scan, click Rescan, and then select the reuse option you
want from the menu.
l On the Manage Scans page, select a scan, click Rescan and select the reuse option you want
from the drop-down menu.
For information about the rescan options, see "Reuse Options" on the previous page.
2. Using the Scan Wizard, you may optionally modify the settings that were used for the original scan.
Tip: For incremental scans, it might be beneficial to change settings to discover new attack
surface. However, changing settings is not recommended for remediation scans.
Note: By default, the type of reuse scan you selected is prepended to the baseline scan name
and a -1 is appended to the end.
Incremental Scan
Incremental scanning provides a way for you to find and audit the areas of your web application that
change over time, while keeping all findings in a single scan. This involves performing incremental scans
and merging these scans back into the baseline scan. For more information about incremental scans and
baseline scans, see "Reusing Scans" on the previous page.
Important! You must click the baseline scan from which the incremental scan was derived to see
the Merge option enabled.
When you click Merge, the incremental scan is merged into the baseline scan. The baseline scan now
contains the union of the 2 scans. After merging, the resulting scan becomes the new baseline scan. You
can continuously perform incremental-merge-incremental-merge indefinitely to create a process for
continuous or deferred auditing. For more information, see "Incremental Scan with Continuous or
Deferred Audit" below.
To merge scans:
1. In the Manage Scans page, select the baseline scan and the incremental scan.
2. Right-click and select Merge.
Log entries, including the baseline and incremental scan IDs, are written to the scan log when scans are
merged.
Schedule a Scan
You can schedule a Basic Scan, a Web Service Scan, or an Enterprise Scan to occur at a date and time of
your choosing.
The options and settings you select are saved in a special file and accessed by a Windows service that
starts Fortify WebInspect (if necessary) and initiates the scan. It is not necessary for Fortify WebInspect
to be running at the time you specify for the scan to begin.
Note: To access scheduled scans after they are complete, select the Start Page tab and click
Manage Scans.
To schedule a scan:
1. Do one of the following:
l Click the Schedule icon on the Fortify WebInspect toolbar.
l Click Manage Scheduled Scans on the Fortify WebInspect Start Page.
2. When the Manage Scheduled Scans window appears, click Add.
3. In the Type of Scan group, choose one of the following:
l Basic Scan
l Web Service Scan
l Enterprise Scan
4. To conduct the scan one time only, select Run Once and then edit the Start Date and Time. If you
click the drop-down arrow, you can use a calendar to select the date.
Note: Scheduled scans, when complete, do not appear in the Recent Scans list that displays on the
Fortify WebInspect Start page. To access scheduled scans after they are complete, select the Start
page and click Manage Scans.
A list of scans you previously scheduled appears in the right-hand pane of the Start Page.
The current state of the scan is indicated in the Status column. For more information, see "Scheduled
Scan Status " on page 209.
You can perform the following tasks:
Delete a Scan
l To delete a scan from the list, select a scan and click Delete.
Edit Scan Settings
l To edit settings for a scheduled scan, select a scan and click Edit.
Run a Scan Immediately
l To run a scan immediately, without waiting for the scheduled time, select a scan and click Start (or
right-click a scan and select Start Scan from the shortcut menu). As with all scheduled scans, the
scan runs in the background and does not appear on a tab.
Stop a Scheduled Scan
l To stop a scheduled scan, select a scan that is running and click Stop (or right-click a running scan
and select Stop Scan from the shortcut menu).
Schedule a Scan
To schedule a scan:
1. Click Add.
2. In the Type of Scan group, choose one of the following:
l Basic Scan
l Web Service Scan
l Enterprise Scan
3. Specify when you want to conduct the scan. The choices are:
l Immediately
l Run Once: Modify the date and time when the scan should begin. You can click the drop-down
arrow to reveal a calendar for selecting the date.
l Recurrence Schedule: Use the slider to select a frequency (Daily, Weekly, or Monthly). Then
specify the time when the scan should begin and (for Weekly or Monthly) provide other
schedule information.
4. Click Next.
5. Enter the settings for the type of scan you selected.
6. For Web Site and Web Service Scans only, you can elect to run a report at the conclusion of the
scan:
a. Select Generate Reports and click the Select Reports hyperlink.
b. Continue with Selecting a Report (below).
7. To schedule the scan without generating a report, click Schedule.
Selecting a Report
If you opted to include a report with the scheduled scan, the Scheduled Scan Report Wizard appears:
Scheduled Scan Report Wizard (Step 1 of 2) Image
1. If you select Automatically Generate Filename, the name of the report file will be formatted as
<reportname> <date/time>.<extension>. For example, if creating a compliance report in pdf
format and the report is generated at 6:30 on April 5, the file name would be "Compliance
Report 04_05_2009 06_30.pdf." This is useful for recurring scans.
Reports are written to the directory specified for generated reports in the Application settings.
2. If you did not select Automatically Generate Filename, enter a name for the file in the Filename
box.
3. Select the report format from the Export Format list.
4. If you selected multiple reports, you can combine then all into one report by selecting Aggregate
reports into one report.
5. Select a template that defines the headers and footers used for the report and, if necessary,
provide the requested parameters.
6. Click Finished.
7. Click Schedule.
See Also
"Start Page " on page 51
"Manage Scans " on page 199
"Scheduled Scan Status " on the next page
To restart a stopped scan, select the scan from the Manage Schedule list and click (or right-
click the scan and select Start Scan from the shortcut menu).
Status Definition
Not Yet Run The scan is queued to run at the scheduled time, which has not yet occurred.
Skipped The scheduled scan was not run because the service was down for some period
of time.
Stopping The user clicked the Stop button, but the scan has not yet stopped.
Running with The scan could not stop; see log for further details.
Error
Exporting a Scan
Use the Export Scan function to save information collected during a Fortify WebInspect crawl or audit.
Note: When exporting to Fortify Software Security Center, after exporting to the .fpr format, you
must manually upload the .fpr file to Fortify Software Security Center. Fortify does not support
uploading both Fortify WebInspect FPR artifacts and Fortify WebInspect Enterprise FPR artifacts
to the same application version in Fortify Software Security Center.
l On the Manage Scans pane of the Start page, select a scan, click the drop-down arrow on the
Export button and select either Export Scan or Export Scan to Software Security Center.
The Export a Scan window (or the Export Scan to Software Security Center window) appears.
2. The Scrub Data group contains, by default, three non-editable regular expression functions that
will substitute X's for each digit in a string formatted as a Social Security number, credit card
number, or IP address. To include a search-and-replace function, select its associated check box.
This feature prevents any sensitive data from being included in the export.
3. To create a Scrub Data function:
a. Click Add.
b. On the Add Scrub Entry window, select either Regex or Literal from the Type list.
c. In the Match box, enter the string (or a regular expression representing a string) that you want
to locate. If using a regular expression, you can click the ellipsis button to open the Regular
Expression Editor, with which you can create and test your regular expression.
d. In the Replace box, enter the string that will replace the target specified by the Match string.
e. Click OK.
4. If you are exporting to Software Security Center, go to Step 7.
3. From the Details list, select the type of information you want to export. The options are as follows:
l Comments
l Emails
l Full (all details)
l Hidden Fields
l Offsite Links
l Parameters
l Requests
l Script
l Sessions
l Set Cookies
l URLs
l Vulnerabilities
l Web Crawl Dump
l Site Tree Dump
l Web Forms
Note: Not all choices are available for a Web Service scan.
4. Choose a format (either Text or XML) from the Export Format list.
5. The Scrub Data group contains, by default, three non-editable regular expression functions that
will substitute X's for each digit in a string formatted as a Social Security number, credit card
number, or an IP address. To include this search-and-replace function for a data type, select its
associated check box. This feature prevents any sensitive data from being included in the export.
6. To create a Scrub Data function:
a. Click Add.
b. On the Add Scrub Entry window, select either Regex or Literal from the Type list.
c. In the Match box, enter the string (or a regular expression representing a string) that you want
to locate. If using a regular expression, you can click the ellipsis button to open the Regular
Expression Editor, with which you can create and test your regular expression.
d. In the Replace box, enter the string that will replace the target specified by the Match string.
e. Click OK.
7. Click Export.
8. Using a standard file-selection window, specify a name and location for the exported file and click
Save.
See Also
"Exporting a Scan " on page 209
Note: After exporting to the .fpr format, you must manually upload the .fpr file to Fortify Software
Security Center. Fortify does not support uploading both Fortify WebInspect FPR artifacts and
Fortify WebInspect Enterprise FPR artifacts to the same application version in Fortify Software
Security Center.
Importing a Scan
To import a scan:
1. Click File > Import Scan.
2. Using a standard file-selection window, select an option from the Files Of Type list:
l Scan files (*.scan) - scan files designed for or created by Fortify WebInspect versions beginning
with 7.0.
l SPA files (*.spa) - scan files created by versions of Fortify WebInspect prior to version 7.0.
3. Choose a file and click Open.
If attachments were exported with the scan, those attachments will be imported and saved in a
subdirectory of the imported scan. The default location is C:\Users\<username>\AppData\HP\HP
WebInspect\ScanData\Imports\<DirectoryName>\<filename>, where DirectoryName is the ID
number of the exported/imported scan.
See Also
"Exporting a Scan " on page 209
Note: You cannot import false positives when scheduling a scan or conducting an Enterprise scan.
Tip: You can also create, edit, delete, import, and export scan settings files from the Manage
Settings window. Click Edit and select Manage Settings
3. For each scan, select an Application and Version from the appropriate drop-down lists.
The program attempts to select the correct application and version based on the "Scan URL" in the
scan file, but you may select an alternative.
4. Click Upload.
See Also
4. Select the Application and Version to which the template will be transferred in Fortify WebInspect
Enterprise.
5. If necessary, click Refresh to ensure the lists include the latest settings files and scan templates.
6. Enter the name of the scan template that will be created. You cannot duplicate the name of an
existing template.
7. Click Upload.
All template settings that are not extracted from Fortify WebInspect will use the Fortify WebInspect
Enterprise template default settings.
l The scan template will not specify the policy used by the Fortify WebInspect settings file. Instead, it
will contain the "Use Any" option.
l Any client certificate information that may be included in the Fortify WebInspect settings file is
transferred to the scan template, but the certificates are not transmitted.
l All Fortify WebInspect settings are preserved in the scan template, even if they are not used by
Fortify WebInspect Enterprise. Therefore, if you subsequently create a Fortify WebInspect settings
file based on the scan template you created from the original settings file, the Fortify WebInspect
settings will be retained.
5. If necessary, click Refresh to ensure the lists include the latest settings files and scan templates.
6. Click Download.
7. Using a standard file-selection window, name the settings file, select a location in which to save it,
and click Save.
The Fortify WebInspect settings file will not specify the policy used by the scan template. Instead, it will
specify the Standard policy.
Use the following procedure to transmit scan data from Fortify WebInspect to a Fortify Software
Security Center server, via Fortify WebInspect Enterprise.
Note: For information about managing the Fortify Software Security Center status of
vulnerabilities when conducting multiple scans of the same Web site or application, see "Integrating
with Fortify WebInspect Enterprise and Fortify Software Security Center " on the next page.
1. Configure Fortify WebInspect Enterprise and Fortify Software Security Center.
2. Run a scan in Fortify WebInspect (or use an imported or downloaded scan).
3. Click the Enterprise Server menu and select Connect to WebInspect Enterprise. You will be
prompted to submit credentials.
4. If a scan is open on a tab that has focus, and you want to publish only that scan:
a. Click .
b. Select an application and version, then click OK.
c. Examine the results. Columns will appear in the Summary pane specifying "Published Status"
and "Pending Status." The Published Status is the status of the vulnerability the last time this
scan was published to Fortify WebInspect Enterprise. The Pending Status is what the status of
the vulnerability will be after this scan is published. Depending on the Pending Status, you can
modify it to specify whether the vulnerability has been resolved or is still existing (see Step 7
below). In addition, a new tab named "Not Found" appears; this tab contains vulnerabilities
that were detected in previous scans but not in the current scan. You can add screenshots and
comments to vulnerabilities or mark vulnerabilities as false positive or ignored. You can also
review and retest vulnerabilities, modifying the scan results until you are ready to publish.
6. Fortify WebInspect lists the number of vulnerabilities to be published, categorized by status and
severity.
To determine the status, Fortify WebInspect compares previously submitted vulnerabilities
(obtained by synchronizing with Fortify Software Security Center) with those reported in the
current scan. If this is the first scan submitted to an application version, all vulnerabilities will be
"New."
If a vulnerability was previously reported, but is not in the current scan, it is marked as "Not
Found." You must determine if it was not found because it has been fixed or because the scan was
configured differently (for example, you may have used a different scan policy, or you scanned a
different portion of the site, or you terminated the scan prematurely). When examining the results
(step 4c), you can change the "pending status" of individual vulnerabilities detected by all but the
first scan (by right-clicking a vulnerability in the Summary pane). However, when publishing, you
must specify how Fortify WebInspect should handle any remaining "Not Found" vulnerabilities.
To retain these "Not Found" vulnerabilities in Fortify Software Security Center (indicating that they
still exist), select Retain: Assume all vulnerabilities still marked "Not Found" in the scan are
still present.
To remove them (implying that they have been fixed), select Resolve: Assume all vulnerabilities
still marked "Not Found" in the scan are fixed.
7. If this scan was conducted in response to a scan request initiated at Fortify Software Security
Center, select Associate scan with an "In Progress" scan request for the current application
version.
8. Click Publish.
Fortify Software Security Center is a suite of tightly integrated solutions for identifying, prioritizing, and
fixing security vulnerabilities in software. It uses Fortify Static Code Analyzer to conduct static analysis
and Fortify WebInspect to conduct dynamic application security testing. Fortify WebInspect Enterprise
provides a central location for managing multiple Fortify WebInspect scanners and correlating scan
results that can be published directly to individual application versions within Fortify Software Security
Center.
Fortify WebInspect Enterprise maintains a history of all vulnerabilities for a particular Fortify Software
Security Center application version. After Fortify WebInspect conducts a scan, it synchronizes with
Fortify WebInspect Enterprise to obtain that history, compares vulnerabilities in the scan with those in
the history, and then assigns a status to each vulnerability. The statuses are described in the following
table.
Fortify Software
Security Center
Status Description
Not Found A vulnerability in the history that is not found in the scan. This can occur
because (a) the vulnerability has been remediated and no longer exists, or
(b) because the latest scan used different settings, or scanned a different
portion of the site, or for some other reason did not discover the
vulnerability.
Reintroduced A vulnerability that appears in a current scan but was previously reported
as "Resolved."
Still an Issue A vulnerability that was "Not Found" in the current scan does, in fact, exist.
To change the Fortify Software Security Center status for an individual vulnerability, right-click a
vulnerability on the Vulnerability tab and select Modify Pending Status. This option appears only
after connecting to Fortify WebInspect Enterprise and is enabled only after you have synchronized
Fortify WebInspect with Software Security Center.
The following example demonstrates a hypothetical series of scans for integrating vulnerabilities into
Fortify Software Security Center.
First scan
1. Scan the target site with Fortify WebInspect. In this example, assume that only one vulnerability
(Vuln A) is discovered.
2. Examine the results. You can add screenshots and comments to vulnerabilities or mark
vulnerabilities as false positive or ignored. You can also review, retest, and delete vulnerabilities.
3. Synchronize the scan with a application version in Fortify Software Security Center, then publish
the scan.
Second scan
1. The second scan again reveals Vuln A, but also discovers four more vulnerabilities (Vulns B, C, D,
and E).
2. Synchronize the scan with the application version in Fortify Software Security Center.
3. Now examine the results. If you added audit data (such as comments and screenshots) to Vuln A
when publishing the first scan, the data will be imported into the new scan.
4. Publish the scan to Fortify Software Security Center. Vuln A will be marked "Existing," Vulns B-E will
be marked "New," and five items will exist in the Fortify Software Security Center system.
Third scan
1. The third scan discovers Vulns B, C, and D, but not Vuln A or Vuln E.
2. Synchronize the scan with the application version in Fortify Software Security Center.
3. After retesting Vuln A, you determine that it does, in fact, exist. You change its pending status to
"Still an Issue."
4. After retesting Vuln E, you determine that it does not exist. You change its pending status to
"Resolved."
5. Publish the scan to Fortify Software Security Center. Vulns B, C, and D will be marked
"Existing." Five items will exist in the Fortify Software Security Center system.
Fourth Scan
1. The fourth scan does not find Vuln A or Vuln B. The scan does find Vulns C, D, E, and F.
2. Synchronize the scan with the application version in Fortify Software Security Center.
3. Vuln E was previously declared to be resolved and so its status is set to “Reintroduced.”
4. You examine the vulnerabilities that were not found (A and B, in this example). If you determine
that the vulnerability still exists, update the pending status to “Still an Issue.” If a retest verifies that
the vulnerability does not exist, update the pending status to “Resolved.”
5. Publish the scan to Fortify Software Security Center. Vulns C and D remain marked "Existing."
Use this dialog box to specify an application and version and synchronize with Fortify Software Security
Center. Fortify WebInspect then downloads a list of vulnerabilities from Fortify Software Security
Center, compares the downloaded vulnerabilities to the vulnerabilities in the current scan, and assigns
an appropriate status (New, Existing, Reintroduced, or Not Found) to the vulnerabilities in the current
scan. For detailed information, see "Integrating with Fortify WebInspect Enterprise and Fortify Software
Security Center " on page 221.
To synchronize with Fortify Software Security Center:
1. Click Synchronize on the toolbar.
2. Select an application.
3. Select a version.
4. Click OK.
Using Macros
A macro is a recording of the events that occur when you access and log in to a website. You can
subsequently instruct Fortify WebInspect to begin a scan using this recording. You can use the Web
Macro Recorder tool to record login macros or you can create them in the Basic Scan or Guided Scan
wizards. Macros that are created in a Basic Scan or a Guided Scan can be used in either type of scan.
There are two types of macros:
l A login macro is a recording of the events that occur when you access and log in to a Web site using
the event-based Web Macro Recorder. You can subsequently instruct Fortify WebInspect to begin a
scan using this recording. You can specify a login macro when you select Site Authentication on
Step 2 of the Guided Scan Wizard.
If Enable macro validation is selected in Scan Settings: Authentication for scans that use a login
macro, Fortify WebInspect tests the login macro at the start of the scan to ensure that the log in is
successful. If the macro is invalid and fails to log in to the application, the scan stops and an error
message is written in the scan log file. For more information and troubleshooting tips, see "Testing
Login Macros" on page 456.
l A workflow macro is a recording of HTTP events that occur as you navigate through a Web site using
the session-based Web Macro Recorder. Fortify WebInspect audits only those URLs included in the
macro that you previously recorded and does not follow any hyperlinks encountered during the
audit. You can specify a workflow macro when you select a Workflows scan in the Guided Scan or
Basic Scan wizards.
Any activity you record in a macro will override the scan settings. For example, if you specify a URL in
the Excluded URL setting, and then you actually navigate to that URL when creating a macro, Fortify
WebInspect will ignore the exclusion when it crawls and audits the site.
Note: When you play a macro, Fortify WebInspect will not send any cookie headers that may have
been incorporated in the recorded macro. Macros that were recorded in a Basic Scan or a Guided
Scan can be used in either type of scan.
Important! If you use a login macro in conjunction with a workflow macro or startup macro or
both, all macros must be of the same type: all .webmacro files, all Burp Proxy captures, or all
Selenium IDE macros. You cannot use different types of macros in the same scan.
See Also
"Scan Settings: Authentication" on page 373
"Running a Guided Scan " on page 106
"Selecting a Workflow Macro " below
"Using the Unified Web Macro Recorder" on the next page
l Export - opens a standard file-selection window, allowing you to save a recorded macro
Once a macro is selected or recorded, you may optionally specify allowed hosts.
The Web Macro Recorder operates by default using underlying Firefox browser technology to record
and play macros. It can also operate using Internet Explorer browser technology (also referred to here
as IE technology) to record and display web traffic data. Note the following:
l Web Macro Recorder does not support the recording of Flash or Silverlight applications.
l The TruClient technology used in the Web Macro Recorder is an adaptation of the Ajax TruClient
technology originally developed for use with Micro Focus LoadRunner and Micro Focus Performance
Center. It does not incorporate or support all the capabilities of the fully-featured version in those
products.
l When you play a macro, Fortify WebInspect does not send any cookie headers that may have been
incorporated in the recorded macro.
l If a URL is in a macro, the request is always sent when the macro is played, regardless of any
exclusion rules in scan settings.
l When launching the Web Macro Recorder, you may receive the following error message:
“Exc in ev handl: TypeError: this.oRoot.enable is not a function.”
This can occur if the McAfee SiteAdvisor is installed. Simply acknowledge the message and continue.
See Also
"Using Macros" on page 225
See Also
"Scan Info Panel Overview " on page 72
Server Profiler
Use the Server Profiler to conduct a preliminary examination of a Web site to determine if certain Fortify
WebInspect settings should be modified. If changes appear to be required, the Profiler returns a list of
suggestions, which you may accept or reject.
For example, the Server Profiler may detect that authorization is required to enter the site, but you have
not specified a valid user name and password. Rather than proceed with a scan that would return
significantly diminished results, you could follow the Server Profiler's prompt to configure the required
information before continuing.
Similarly, your settings may specify that Fortify WebInspect should not conduct "file-not-found"
detection. This process is useful for Web sites that do not return a status "404 Not Found" when a client
requests a resource that does not exist (they may instead return a status "200 OK," but the response
contains a message that the file cannot be found). If the Profiler determines that such a scheme has
been implemented in the target site, it would suggest that you modify the Fortify WebInspect setting to
accommodate this feature.
The Server Profiler can be selected during a Guided Scan, or enabled in the Application settings. For
specific information, see "Application Settings: Server Profiler" on page 410.
Basic Scan
As soon as you start a Basic Scan, Fortify WebInspect begins scanning your Web application and
displays in the navigation pane an icon depicting each session (using either the Site or Sequence view).
It also reports possible vulnerabilities on the Vulnerabilities tab and Information tab in the summary
pane. For more information, see "Navigation Pane" on page 61 and "Summary Pane" on page 97.
If you click a URL listed in the summary pane, the program highlights the related session in the
navigation pane and displays its associated information in the information pane. For more information,
see "Information Pane " on page 71.
Sometimes the attack that detected a vulnerable session is not listed under attack information. That is, if
you select a vulnerable session in the navigation pane and then click Attack Info in the Session Info
panel, the attack information does not appear in the information pane. This is because attack
information is usually associated with the session in which the attack was created and not with the
session in which it was detected. When this occurs, select the parent session and then click Attack Info.
For more information, see "Session Info Panel Overview " on page 82.
l Review Vulnerability - Available if one vulnerability is selected; allows you to retest the vulnerable
session, mark it as a false positive, or send it to Micro Focus Application Lifecycle Management
(ALM). For more information, see "Reviewing a Vulnerability " on page 240.
l Mark as - Flags the vulnerability as either a false positive (and allows you to add a note) or as
ignored. In both cases, the vulnerability is removed from the list. You can view a list of all false
positives by selecting False Positives in the Scan Info panel. You can view a list of false positives and
ignored vulnerabilities by selecting Dashboard in the Scan Info panel, and then clicking the
hyperlinked number of deleted items in the statistics column.
Note: You can recover "false positive" and "ignored" vulnerabilities. See "Recovering Deleted
Items" on page 253 for details.
l Send to - Converts the vulnerability to a defect and adds it to the Micro Focus Application Lifecycle
Management (ALM) database.
l Remove Location - Removes the selected session from the navigation pane (both Site and
Sequence views) and also removes any associated vulnerabilities.
Note: You can recover removed locations (sessions) and their associated vulnerabilities. See
"Recovering Deleted Items" on page 253 for details.
Icon Description
Critical A vulnerability wherein an attacker might have the ability to execute commands
on the server or retrieve and modify private information.
High Generally, the ability to view source code, files out of the Web root, and sensitive
error messages.
Low Interesting issues, or issues that could potentially become higher ones.
A client Web application that accesses a Web service receives a Web Services Definition Language
(WSDL) document so that it understands how to communicate with the service. The WSDL document
describes the procedures included in the Web service, the parameters those procedures expect, and the
type of return information the client Web application will receive.
After selecting a session object in the navigation pane or on the Vulnerabilities tab of the summary
pane, you can select options from the Session Info panel. For more information, see "Navigation Pane"
on page 61, "Summary Pane" on page 97, and "Session Info Panel Overview " on page 82.
See Also
"Reviewing and Retesting" on page 250
Search View
The Search view allows you to search across all sessions for various HTTP message components. For
example, if you select Response Raw from the drop-down and specify set-cookie as the search string,
Fortify WebInspect lists every session whose raw HTTP response includes the "set-cookie" command.
Match Whole String check box. The exact match is not case-sensitive.
This option is not available for certain search targets.
6. Click Search.
See Also
"User Interface Overview" on page 47
Using Filters
You can display a subset of items that match the criteria you specify using either of two methods:
l Enter filter criteria using the combo box in the top right corner of the pane.
Note: Click the filter criteria box and press CTRL + Space to view a pop-up list of all available
filter criteria, and then enter a value for that criterion.
l Right-click a value in any column and select Filter by Current Value from the shortcut menu.
This filtering capability is available on all Summary pane tabs except Scan Log.
No Filters
The following example shows unfiltered items on the Vulnerabilities tab.
Summary Pane with No Filters Image
Filtered by Method:Get
The following example is rendered after entering "Method:Get" in the filter criteria box.
Summary Pane with Filters Image
Note that the filtering criteria (Method:Get) appears in the combo box, which also contains a red X. Click
it to remove the filter and return the list to the original contents.
Filter Criteria
You can enter the following identifiers:
l check - Check name
l cookienamerp - Cookie name in the HTTP response
l cookienamerq - Cookie name in the HTTP request
l cookievaluerp - Cookie value in the HTTP response
l cookievaluerq - Cookie value in the HTTP request
l duplicates - Duplicates detected by Fortify WebInspect Agent
l filerq - File name and extension in the HTTP request
l headernamerp - Header name in the HTTP response
l headernamerq - Header name in the HTTP request
l headervaluerp - Header value in the HTTP response
l headervaluerq - Header value in the HTTP request
l location - Path plus parameters identifying the resource
l manual - A location added manually (syntax is manual:True or manual:False)
l method - HTTP method (GET, POST)
l methodrq - Method specified in HTTP request
Using Groups
You can group items into categories based on the column headings. To do so, simply drag the heading
and drop it on the grouping area at the top of the pane.
Vulnerabilities in the following illustration are grouped by risk and then by check name.
Summary Pane Using Groups Image
If you right-click a column header, Fortify WebInspect displays the following shortcut menu:
l Group by Field - Groups vulnerabilities according to the field you selected.
l Group by Box - Shows the "Group By" area in which you can arrange grouping by column headers.
l Columns - Allows you to select which columns are displayed.
l Save as Default View - Saves the current grouping paradigm as the default for all scans.
l Reset Default View - Restores the grouping paradigm to the default view that you created.
l Reset Factory Settings - Restores the grouping paradigm to the original view (Severity > Check).
Option Definition
Vulnerability Displays the vulnerability information for the session selected in the navigation
pane. For more information, see "Navigation Pane" on page 61.
HTTP Request Displays the raw HTTP request sent by Fortify WebInspect to the server hosting
Option Definition
HTTP Response Displays the server's raw HTTP response to Fortify WebInspect's request.
Note: If you select a Flash (.swf) file, Fortify WebInspect displays HTML
instead of binary data. This allows Fortify WebInspect to display links in a
readable format.
Stack Traces This feature is designed to support Fortify WebInspect Agent when it is installed
and running on the target server. For certain checks (such as SQL injection,
command execution, and cross-site scripting), Fortify WebInspect Agent
intercepts Fortify WebInspect HTTP requests and conducts runtime analysis on
the target module. If this analysis confirms that a vulnerability exists, Fortify
WebInspect Agent appends the stack trace to the HTTP response. Developers
can analyze this stack trace to investigate areas that requires remediation.
Attachments Displays all notes, flags, and screenshots associated with the selected session.
To create an attachment, do one of the following:
l Right-click an operation or vulnerability in the navigation pane and select
Attachments from the shortcut menu.
l Right-click a URL on the Vulnerabilities tab of the summary pane and select
Attachments from the shortcut menu. For more information, see "Summary
Pane" on page 97.
l Select an operation or vulnerability in the navigation pane, then select
Attachments from the Session Info panel and click the Add menu (in the
information pane).
Fortify WebInspect automatically adds a note to the session information
whenever you send a defect to Micro Focus Application Lifecycle Management
(ALM).
Web Service Displays an exploded view of the SOAP envelope, header, and body elements
Request for the request.
Web Service Displays an exploded view of the SOAP envelope, header, and body elements
Response for the response.
XML Request Displays the associated XML schema embedded in the request (available when
selecting the WSDL object during a Web Service scan).
Option Definition
XML Response Displays the associated XML schema embedded in the response (available when
selecting the WSDL object during a Web Service scan).
For more information on how to conduct a Web services vulnerability scan, see "Running a Web Service
Scan " on page 157.
Reviewing a Vulnerability
After you conduct a scan and report discovered vulnerabilities, developers may correct their code and
update the site. You can then open the original scan, select the once-vulnerable session (now
supposedly remediated), and select Review Vulnerability from the shortcut menu. Assuming that the
fundamental architecture of the site has not changed, you can verify that the threat no longer exists
without rescanning the entire site (which, in some cases, could require several hours or even days).
Alternatively, you can use this feature simply to double-check a reported vulnerability, even while the
scan is still running.
To review a vulnerability:
1. Right-click a session from the Navigation pane (or right-click a URL on the Vulnerability tab of the
Summary pane). For more information, see "Navigation Pane" on page 61 and "Summary Pane" on
page 97.
2. Select Review Vulnerability from the shortcut menu.
The Retest Vulnerability window appears.
3. If you want to access the site through Web Proxy, click Options and select Launch and Direct
Traffic through Web Proxy.
4. If multiple vulnerabilities are associated with the selected session, choose one from the
Vulnerabilities to Review list.
5. Use the tabs to display information about the original session (as selected in the lower pane under
the URL column):
l Browser - The server's response, as rendered in a browser.
l Request - The raw HTTP request message.
l Response - The raw HTTP response message.
l Stack Trace - A report of the active stack frames at a certain point in time during the execution
of a program. This tab is present only when Fortify WebInspect Agent is running on the target
server.
l Vulnerability - A description of the vulnerability, its implications, and suggestions on how to fix
it.
l Attachments - Notes and screen shots, which you may add, view, edit, or delete.
6. To retest the session for the selected vulnerability, click Retest.
Results of the retest appear on the Status bar and in the lower pane in the Response Match
Status column.
The status is reported as either "Complete (Vulnerability Detected)" or "Complete (Vulnerability Not
Detected)."
Important! Fortify does not recommend retesting vulnerabilities in scans created using earlier
versions of Fortify WebInspect. While retesting scans from earlier versions may work in many
instances, it is not always reliable because individual checks may not flag the same vulnerability
during a retest. Failure of a check to flag the same vulnerability while retesting a scan from an
earlier version of Fortify WebInspect may not mean the vulnerability has been remediated.
The reliability of the reported findings is mitigated by the Response Match Status, which may have
the following values:
l Match - The resource has not changed significantly; Fortify WebInspect was able to access the
session via the same path used by the original scan.
l Inconclusive - Based on the HTTP response, the resource has changed in a manner that may or
may not substantiate the finding that a vulnerability has or has not been detected during the
retest.
l Different - The HTTP response is radically different from the response received during the
original scan, suggesting major changes to the resource.
7. If you think that Fortify WebInspect has erroneously determined that the vulnerability exists, you
can remove the vulnerability by clicking Mark as and selecting False Positive from the drop-down
list.
8. To ignore the vulnerability, click Mark as and select Ignored from the drop-down list.
9. To convert one or more vulnerabilities to defects and add them to the Micro Focus Application
Lifecycle Management (ALM) database, click Send To and select Micro Focus ALM.
Note: If you access the Vulnerability Review window from the Vulnerability Compare window,
the Mark As and Send To buttons are not enabled.
See Also
"Reviewing and Retesting" on page 250
"Sending Vulnerabilities to Micro Focus ALM " on page 254
"Mark As False Positive" on page 247
l On the Navigation pane, right-click a vulnerable session or URL. For more information, see
"Navigation Pane" on page 61.
2. On the shortcut menu, click Attachments > Add Vulnerability Screenshot.
Note: An alternative method is to select a vulnerability, click Attachments in the Session Info
panel, and then select a command from the Add menu (in the information display area). For
more information, see "Information Pane " on page 71.
3. If you selected a session with multiple vulnerabilities, select the check box next to one or more
vulnerabilities.
4. Enter a name (40 characters max.) for the screenshot in the Name box.
5. Select an image file, using one of the following methods:
l Click the browse button and choose a file with the standard file-selection window.
l Click Copy from Clipboard to save the contents of the Windows clipboard.
Note: You can specify only one image file even if you have selected multiple vulnerabilities.
Editing Vulnerabilities
After Fortify WebInspect assesses your application’s vulnerabilities, you may want to edit and save the
results for a variety of reasons, including:
l Security - If an HTTP request or response contains passwords, account numbers, or other sensitive
data, you may want to delete or modify this information before making the scan results available to
other persons in your organization.
l Correction - Fortify WebInspect occasionally reports a “false positive.” This occurs when Fortify
WebInspect detects indications of a possible vulnerability, but further investigation by a developer
determines that the problem does not actually exist. You can delete the vulnerability from the session
or delete the entire session. Alternatively, you can designate it as a false positive (right-click the
session in either the Site or Sequence view and select Mark As False Positive).
l Severity Modification - If you disagree with Fortify WebInspect’s ranking of a vulnerability, you can
assign a different level, using the following scale:
Range Severity
0 - 9 Normal
10 Information
11 - 25 Low
26 - 50 Medium
51 - 75 High
76 - 100 Critical
l Record Keeping - You can modify any of the report fields associated with an individual vulnerability
(Summary, Execution, Recommendation, Implementation, Fixes, and References). For example, you
could add a paragraph to the Fixes section describing how you actually fixed the problem.
l Enhancement - If you discover a new vulnerability, you could define it and add it to a session as a
custom vulnerability.
Caution! Rolling up vulnerabilities indicates that they share the same root cause, and that fixing the
root cause will fix all rolled up vulnerabilities. Future scans will automatically ignore rolled up
vulnerabilities if found. If any of the rolled up vulnerabilities do not share the same root cause, they
will still be ignored.
Rollup Guidelines
The following guidelines apply to vulnerability rollup:
l Scans that include vulnerability rollups can be rescanned and bulk retested.
l Only the visible vulnerability is retested during bulk retest. The rest of the vulnerabilities are ignored
and will not show up as rolled up on the retest.
l Rollup is local to a scan and is not propagated between scans.
l Rollup works only when you select multiple vulnerabilities that have not been rolled up. Inadvertently
selecting a currently rolled up vulnerability will prevent the Rollup Vulnerability option from
appearing in the shortcut menu.
l You can only undo a rollup if you single select a vulnerability that is currently rolled up.
Rolling Up Vulnerabilities
To rollup vulnerabilities:
1. On the Vulnerabilities tab in the summary pane, select several vulnerabilities to rollup.
2. Right click and select Rollup Vulnerabilities from the shortcut menu.
Undoing Rollup
The rollup feature is reversible. To undo a rollup:
1. On the Vulnerabilities tab in the summary pane, right-click any vulnerability that has been rolled
up.
2. Select Undo Rollup Vulnerabilities.
The rollup is reversed, and the vulnerabilities appear on the Vulnerabilities tab. Additionally, the
note detailing the rolled up vulnerabilities is removed from the Attachments on the Session Info
panel.
Note: If you undo a rollup in a scan that has been published to Fortify Software Security
Center, the note that was added to the Attachments on the Session Info panel detailing the
roll up will be removed temporarily from Fortify WebInspect, but will reappear after
synchronization with Fortify Software Security Center.
See Also
"Vulnerabilities Tab" on page 98
Mark As Vulnerability
If you think that someone has erroneously reclassified a detected vulnerability as a false positive, you
can restore the vulnerability to its original session.
1. Select the check box associated with one or more URLs.
2. (Optional) Enter a comment.
3. Click OK.
display area).
Scan Note
To add a scan note:
1. Click Attachments on the Scan Info panel.
2. Click Add and select Scan Note.
3. On the Add Scan Note dialog box, enter a note related to the scan.
4. Click OK.
To delete a scan note (or any attachment):
1. Select the attachment.
2. Click Delete.
See Also
"Adding/Viewing Vulnerability Screenshot" on page 241
"Vulnerability Note" on the next page
"Flag Session for Follow-Up" on the previous page
Session Note
To add a session note:
1. Do one of the following to select a session:
l On the Vulnerabilities tab or the Information tab in the Summary pane, right-click a vulnerable
URL.
l On the Navigation pane, right-click a session or URL.
2. On the shortcut menu, click Attachments > Add Session Note.
Note: You can also add a session note by selecting a vulnerability or session, clicking
Attachments in the Session Info panel, and then clicking the Add menu (in the information
display area).
Vulnerability Note
To add a vulnerability note:
1. Do one of the following to select a vulnerability:
l On the Vulnerabilities tab or the Information tab in the Summary pane, right-click a vulnerable
URL. For more information, see "Summary Pane" on page 97.
l On the Navigation pane, right-click a vulnerable session or URL. For more information, see
"Navigation Pane" on page 61.
2. On the shortcut menu, click Attachments > Add Vulnerability Note.
Note: An alternative method is to select a vulnerability, click Attachments in the Session Info
panel, and then click the Add menu (in the information display area). For more information, see
"Information Pane " on page 71.
3. If you selected a session with multiple vulnerabilities, select the check box next to one or more
vulnerabilities.
4. Enter a note related to the vulnerability (or vulnerabilities) you selected.
5. Click OK.
Important! Fortify does not recommend retesting vulnerabilities in scans created using earlier
versions of Fortify WebInspect. While retesting scans from earlier versions may work in many
instances, it is not always reliable because individual checks may not flag the same vulnerability
during a retest. Failure of a check to flag the same vulnerability while retesting a scan from an earlier
version of Fortify WebInspect may not mean the vulnerability has been remediated.
Retest Vulnerabilities
This type of scan examines only those portions of the target site in which vulnerabilities were detected
during the original scan. Fortify WebInspect does not conduct a new crawl of the site, but simply
retraces the path of vulnerable sessions (as recorded in the original scan) and attacks the resources
using the same checks previously employed.
To retest all vulnerabilities:
1. Do one of the following:
l Open a scan.
l Select a scan on the Manage Scans pane of the Start page.
2. Click Rescan and select Retest Vulnerabilities.
The default name of the scan is "Site Retest - <original scan name>"; for example, the retest of a site
that originally resulted in a scan named MySite would produce a scan named Site Retest - MySite.
However, you can specify a different name when launching the scan.
Important! Fortify does not recommend retesting vulnerabilities in scans created using earlier
versions of Fortify WebInspect. While retesting scans from earlier versions may work in many
instances, it is not always reliable because individual checks may not flag the same vulnerability
during a retest. Failure of a check to flag the same vulnerability while retesting a scan from an
earlier version of Fortify WebInspect may not mean the vulnerability has been remediated.
3. Use the Vulnerability tab in the Summary pane to view the results. The grid contains an additional
column named "Reproducible," which may contain the following values:
l Not Found/Fixed - The vulnerability detected in the original scan was not found by the retest.
These vulnerabilities are displayed with gray text. You can conduct a vulnerability review and
retest of these items. The percentage in parentheses indicates a heuristic confidence level for
the determination.
l Complete - Both the original scan and the retest detected the same vulnerability. In other
words, the vulnerability still exists.
l New - The retest detected a vulnerability that was not reported in the original scan. This is most
likely attributable to content that was added to the resource after the original scan was
conducted.
Note: This bulk retest feature uses only those portions of a scan policy that revealed vulnerabilities
in the original scan. If new vulnerabilities have been introduced since then, they may be detectable
only by checks that were not used during the retest.
Also, because the retest does not use the entire policy, the name of the policy listed in the
dashboard statistics will be a dash (-).
Compare Scans
This feature allows you to compare the vulnerabilities revealed by two different scans of the same
target. You can use this information to:
l Verify fixes: Compare vulnerabilities detected in the initial scan with those in a subsequent scan of a
site in which the vulnerabilities were supposedly fixed.
l Check on scan health: Change scan settings and verify that those changes expand the attack
surface.
l Find new vulnerabilities: Determine if new vulnerabilities have been introduced in an updated
version of the site.
l Investigate Issues: Pursue anomalies such as false positives or missed vulnerabilities.
l Compare authorization access: Conduct scans using two different user accounts to
discover vulnerabilities that are unique or common to both accounts.
l Compare two instances of the same site: Conduct scans on two instances of the same site, such as
Production vs. Development, and compare findings.
Note: Data from both scans must be stored in the same database type (SQL Server Express Edition
vs. SQL Server Standard/Enterprise Edition).
See Also
"Comparing Scans " on page 193
"Reviewing a Vulnerability " on page 240
4. To force the creation of a defect even if it has been previously reported, select Allow duplicate
defect assignment.
Fortify WebInspect recognizes duplicates only within the same scan. If you scan a site and send a
specific vulnerability to ALM, you can prevent Fortify WebInspect from sending that same
vulnerability if it is encountered again during that scan. However, if you conduct a subsequent scan
of that site and Fortify WebInspect again encounters that same vulnerability, Fortify WebInspect is
not programmatically aware that the vulnerability was sent to ALM during the previous scan.
5. To close this dialog box after sending the defect(s), select Close when finished.
6. If you have selected multiple vulnerabilities, you can exclude a vulnerability by removing the check
mark next to the ID number.
7. Click Send.
Note: If you receive the error message, "Error authenticating with Micro Focus ALM," see "Disabling
Data Execution Prevention " on the next page.
Generating a Report
You can launch the Report Generator using a variety of methods:
l On the Start page, click Generate a Report in the left pane of the client area.
l On the Fortify WebInspect toolbar, click Reports.
l Click the Reports menu and select Generate Report.
l On the Manage Scans form, right-click a scan name and select Generate Report.
l With a scan open, right-click a session in the Site view and select Generate Session Report. For more
information, see "Site View" on page 63.
l When scheduling scans.
To generate a report:
1. Launch the Report Generator using one of the options listed above.
2. Select one or more scans from the Select a Scan window.
3. (Optional) Click Advanced (at the bottom of the window) to select options for saving reports and
for selecting a template for headers and footers.
4. Click Next.
5. (Optional) Select a report from the Favorites list.
Tip: "Favorites" is simply a named collection of one or more reports and their associated
parameters. To create a favorite once you have selected reports and parameters, click the
Favorites list and select Add to favorites.
6. Select one or more reports. See "Standard Reports" on page 258 for report descriptions.
7. Provide information for any parameters that may be requested. An exclamation mark indicates a
required parameter.
8. If you want to display each report on a separate tab (rather than combining all reports on one tab),
select Open Reports in Separate Tabs.
9. Click Finish.
Saving a Report
After Fortify WebInspect generates and displays the report, you can save it by clicking Save As on the
Report Viewer toolbar.
Reports can be saved in the following formats:
l Adobe Portable Data Format (.pdf)
l Hypertext Markup Language (.html)
l Native Fortify WebInspect internal format (.raw)
l Rich Text Format (.rtf)
l Text (.txt)
l Microsoft Excel (.xls)
See Also
"Standard Reports" on page 258
"Advanced Report Options" below
"Compliance Templates " on page 260
"Application Settings: Reports" on page 416
Option Description
Automatically If you select this option when saving the report to disk, the name of the
generate file name report file will be formatted as <reportname> <date/time>.<extension>.
For example, if creating a compliance report in pdf format and the report is
generated at 6:30 on April 5, the file name would be "Compliance
Report 04_05_2009 06_30.pdf." This is useful for recurring scans.
l If you select more than one report type, then <reportname> will be
"Combined Reports."
l Reports are written to the directory specified for generated reports in
the Application settings.
If you do not select Automatically generate filename, replace the default
name "auto-gen-filename" with a file name.
Option Description
Header/Footer Select a format for the report's header and footer, and then enter or select
Report the components.
Report Viewer
Use the toolbar to navigate through the report, print or save the report, and to add notes.
Item Description
2 Print Report
3 Copy
4 Search
6 Multi-Page View
7 Continuous Scroll
8 Zoom Out
9 Zoom In
10 Magnification
11 Previous Page
12 Next Page
Item Description
14 Page Backward
15 Page Forward
17 Save Report
Note: The Backward and Forward buttons function in the same manner as the Back and Forward
buttons on a browser. They navigate forward or backward one step in the history list.
Adding a Note
To add a note:
1. Click the Annotation icon.
2. Select a format.
3. Drag it to the report.
4. Right-click the note and select Properties.
5. Select the Text property and enter the contents of the note.
Standard Reports
The following table describes the standard reports that are available.
Report Description
Aggregate This report is designed for multiple scans. You can select which severity
categories to report, report sections (server content and vulnerability
detail), and session information (responses and requests). Stack traces can
also be reported, when available.
Alert View This report lists all vulnerabilities sorted by severity, with a hyperlink to
each HTTP request that elicited the vulnerability. It also includes an
appendix that describes each vulnerability in detail.
Attack Status For each attack agent (check) employed during the scan, this report lists
the vulnerability ID number, check name, vulnerability severity, whether or
not the check was enabled for the scan, whether or not the check passed or
failed (i.e., did or did not detect the vulnerability), and (if it failed) the
number of URLs where the vulnerability was detected. You can select to
Report Description
Crawled URLs For each URL encountered during the crawl, this report lists any cookies
sent and the raw HTTP request and response.
Developer Reference Totals and detailed description of each form, JavaScript, e-mail, comment,
hidden control, and cookie discovered on the Web site. You can select one
or more of these reference types.
Executive Summary This report lists basic statistics, plus charts and graphs that reflect your
application's level of vulnerability.
False Positives This report displays information about URLs that Fortify WebInspect
originally classified as vulnerabilities, but were subsequently determined by
a user to be false positives.
QA Summary This report lists the URLs of all pages containing broken links, server
errors, external links, and timeouts. You can select one or more of these
categories.
Scan Difference This report compares two scans and reports the differences, such as
vulnerabilities, pages, and file-not-found responses that occur in one Web
site but not the other.
Scan Log Sequential list of the activities conducted by Fortify WebInspect during the
scan (as the information appears on the Scan Log tab of the summary
pane).
Trend This report allows you to monitor your development team's progress
toward resolving vulnerabilities. For example, you save the results of your
initial scan and your team begins fixing the problems. Then once a week,
you rescan the site and archive the results. To quantify your progress, you
run a trend report that analyzes the results of all scans conducted to date.
Report Description
Manage Reports
Use Manage Reports to rename, add, delete, or import report definition files.
Note that standard reports cannot be renamed, deleted, or exported.
Compliance Templates
The available compliance templates are described below. Additional templates may be downloaded
through SmartUpdate as they become available.
Template Description
21CFR11 Part 11 of Title 21 of the United States Code of Federal Regulation (commonly
abbreviated as “21 CFR 11”) includes requirements for electronic records and
electronic signatures. To assist medical companies in compliance, the US Food
and Drug Administration (FDA) has published guidance for the proper use of
electronic records and electronic signatures for records that are required to be
kept and maintained by FDA regulations. The guidance outlines "criteria under
which the agency considers electronic records, electronic signatures, and
handwritten signatures executed to electronic records to be trustworthy,
reliable, and generally equivalent to paper records and handwritten signatures
executed on paper."
Due to the law and FDA guidance, medical companies and organizations dealing
with highly sensitive medical information are being required to ensure that
electronic records and electronic signatures are trustworthy, reliable, and
Template Description
Basel II Basel II is a round of deliberations by central bankers from around the world,
under the auspices of the Basel Committee on Banking Supervision (BCBS) in
Basel, Switzerland, aimed at producing uniformity in the way banks and banking
regulators approach risk management across national borders. The BCBS is the
international rule-making body for banking compliance. In 2004, central bank
governors and the heads of bank supervisory authorities in the Group of Ten
(G10) countries endorsed the publication of “International Convergence of
Capital Measurement and Capital Standards: a Revised Framework,” the new
capital adequacy framework commonly known as Basel II.
Basel II essentially requires banks to increase their capital reserves or
demonstrate that they can systematically and effectively control their credit and
operational risk. The framework defines operational risk as “the risk of loss
resulting from inadequate or failed internal processes, people and systems or
from external events,” and highlights hacking and information theft through
inadequate systems security as loss events. While banks around the world are
experts at managing risk by virtue of operating in global financial markets, they
are relatively new at understanding and controlling the risks inherent with
operating online banking systems and keeping customer data secure.
Banks that practice effective information and systems security are able to
demonstrate to regulators that they should qualify for lower capital reserves
through reduced operational risk. The Basel II framework insists that banks
demonstrate that an effective system of policies and processes are in place to
protect information and that compliance to these policies and processes is
ensured, but is not prescriptive in how banks should implement security policies
and processes. The international standard ISO/ICE 17799 Code of Practice for
Information Security Management provides guidelines for implementing and
maintaining information security and is commonly used as a model for managing
and reporting operational risk related to information security in the context of
Basel II.
CA OPPA The California Online Privacy Protection Act (OPPA) was established in 2003 to
require all businesses and owners of commercial web sites in the state of
California to conspicuously post and comply with a privacy policy that clearly
Template Description
states the policies on the collection, use, and sharing of personal information.
The policy identifies the categories of personally identifiable information
collected about site visitors and the categories of third parties with whom the
operator may share the information.
Any business, organization, or individual that operates a Web site that collects
private personal information for a person residing in the state of California is
bound by the provisions of the law, so the California OPPA has a much greater
impact nationally than is typical for state legislation.
CASB 1386 California Senate Bill 1386 has established the most specific and restrictive
privacy breach reporting requirements of any state in the United States. The law
was enacted to force businesses, organizations, and individuals holding private
personal information for legitimate business purposes to inform consumers
immediately when their personal information has been compromised. The law
also gives consumers the right to sue businesses in civil court for damages
incurred through the compromise of information. Any business, organization, or
individual that holds private personal information for a person residing in the
state of California is bound by the provisions of the law.
COPPA The Children’s Online Privacy Protection Act (COPPA) was enacted in 2000 to
protect the online collection of personal information about children under the
age of 13. COPPA’s goal was to protect children’s privacy and safety online in
recognition of the easy access that children often have to the Web. The law
requires that Web site operators post a privacy policy on the site and outlines
requirements for Web site operators to seek parental consent to collect
children’s personal information in certain circumstances.
The law applies not only to Web sites that are clearly directed toward children
but to any Web site that contains general audience content where the Web site
operators have actual knowledge that they are collecting personal information
from children. An operator must post a link to a notice of its information
practices on the home page of its Web site or online service and at each area
where it collects personal information from children. An operator of a general
audience site with a separate children's area must post a link to its notice on the
home page of the children's area.
DCID This directive establishes the security policy and procedures for storing,
processing, and communicating classified intelligence information in information
systems. For purposes of this directive, intelligence information refers to
sensitive compartmented information and special access programs for
Template Description
DoD Application DISA Field Security Operations (FSO) conducts Application SRRs to provide a
Security minimum level of assurance to DISA, Joint Commands, and other Department of
Checklist Defense (DoD) organizations that their applications are reasonably secure
Version 2 against attacks that would threaten their mission. The complexity of most
mission critical applications precludes a comprehensive security review of all
possible security functions and vulnerabilities in the time frame allotted for an
Application SRR. Nonetheless, the SRR helps organizations address the most
common application vulnerabilities and identify information assurance (IA)
issues that pose an unacceptable risk to operations.
Ideally, IA controls are integrated throughout all phases of the development life
cycle. Integrating the Application Review process into the development lifecycle
will help to ensure the security, quality, and resilience of an application. Since the
Application SRR is usually performed close to or after the applications release,
many of the Application SRR findings must be fixed through patches or
modifications to the application infrastructure. Some vulnerabilities may require
significant application changes to correct. The earlier the Application Review
process is integrated into the development life cycle, the less disruptive the
remediation process will be.
DoD Application This compliance template reports all applicable web application components of
Security and the Application Security and Development Security Technical Implementation
Development Guide (STIG) Version 3, Release 1. The STIG provides security guidance for use
STIG V3 R2 throughout the application development lifecycle. Defense Information Systems
Agency (DISA) encourages sites to use these guidelines as early as possible in
the application development process.
Template Description
FISMA The United States Congress passed the E-Government Act of 2002 in
recognition of the importance of information security to the economic and
national security interests of the United States. Title III of the act, entitled the
Federal Information Security Management Act (FISMA), tasked the National
Institute of Standards and Technology with developing standards and
guidelines to be used by all U.S. federal government agencies in implementing
adequate information security as part of their information systems, underpinned
by three security objectives for information systems: confidentiality, integrity
and availability. FISMA requires the head of each federal agency to provide
information security protections commensurate with the risk and magnitude of
the harm that may result from unauthorized access, use, disclosure, disruption,
modification or destruction of its information and information systems. The
protection should apply not only within the agency, but also within contractor or
other organizations working on behalf of the agency.
GLBA The Gramm-Leach-Bliley Act (GLBA) mandates that financial institutions must
protect consumers' personal financial information. The main provision affecting
Web application security in the financial industry is the GLBA Safeguards Rule.
HIPAA The Health Insurance Portability and Accountability Act (HIPAA) mandates the
privacy and security of personal health information from the various threats and
vulnerabilities associated with information management.
ISO17799 This is the most commonly accepted international standard for information
security management. Use this policy as a baseline in crafting a compliance policy
to meet the needs of your organization and its security policy.
Template Description
JPIPA Japan enacted the Personal Information Protection Act (JPIPA) in 2003 to
protect individuals' rights and personal information while preserving the
usefulness of information technology and personal information for legitimate
purposes. The law establishes responsibilities for businesses that handle
personal information for citizens of Japan and outlines potential fines and
punishments for organizations that do not comply. The act requires businesses
to communicate their purpose in collecting and using personal information.
They must also take reasonable steps to protect personal information from
disclosure, unauthorized use or destruction.
NERC The North American Electric Reliability Council (NERC) was established in 1968
with the mission of ensuring that the electric system of the United States is
reliable, adequate and secure. After President Bill Clinton issued Presidential
Decision Directive 63 in 1998 to define infrastructure industries critical to the
United States' national economy and public well-being, the U.S. Department of
Energy designated the NERC to act as the coordinating agency for the electricity
industry, which was named one of the eight critical infrastructure industries.
NIST 800-53 The United States Congress passed the E-Government Act of 2002 in
recognition of the importance of information security to the economic and
national interests of the United States. Title III of the act, entitled the Federal
Information Security Management Act (FISMA), tasked the National Institute of
Standards and Technology with developing standards and guidelines to be used
by all U.S. federal government agencies in implementing adequate information
security as part of their information systems, underpinned by three security
objectives for information systems: confidentiality, integrity, and availability.
OMB This policy addresses major application security sections that were defined in
December 2004 by the Office of Management and Budget for federal agency
public Web sites. These are information resources funded in whole or in part by
the federal government and operated by an agency, contractor, or other
organization on behalf of the agency. They present government information or
provide services to the public or a specific non-federal user group and support
the proper performance of an agency function.
Template Description
OWASP Top Ten Many government agencies suggest testing for the Open Web Application
2004/2007/2010 Security Project (OWASP) Top Ten Web application vulnerabilities as a best
practice in ensuring the security of your Web application.
PCI Data The Payment Card Industry (PCI) Data Security Policy requires that all PCI Data
Security 1.2, 2.0 Security members, merchants, and service providers that store, process or
transmit cardholder data verify all purchased and custom Web applications,
including internal and external applications.
Safe Harbor The European Commission's Directive on Data Protection prohibits the transfer
of personal data from European organizations to non-European Union nations
and organizations that do not adequately protect the safety and privacy of
personal data. Upon passage of this comprehensive European legislation, all
businesses and organizations in the United States that share data with
European Union organizations were obligated to comply with the regulations,
which could have disrupted many types of trans-Atlantic business transactions.
Due to the differences in approaches taken by the United States and European
Union nations in protecting personal data privacy, the U.S. Department of
Commerce, in consultation with the European Commission, developed a
streamlined "Safe Harbor" framework through which U.S. organizations could
comply with the Directive on Data Protection.
Organizations participating in the Safe Harbor are committed to complying with
these seven principles designed to ensure that personal data is properly used,
controlled and protected: Notice, Choice, Onward Transfer, Access, Security,
Data Integrity and Enforcement. Of particular significance to information
technology:
l The Notice principle requires organizations to inform individuals about the
purposes for which it collects information, such as through a privacy policy.
l The Security principle states that organizations will take reasonable
Template Description
SANS CWE Top The SANS (SysAdmin, Audit, Network, Security) Institute was established in
25 1989 as a cooperative research and education organization. The SANS
Common Weakness Enumeration (CWE) Top 25 Most Dangerous Software
Errors is a list of the most widespread and critical programming errors that can
lead to serious software vulnerabilities. They are dangerous because they
frequently allow attackers to completely take over the software, steal data, or
prevent the software from functioning. This compliance template reports all
applicable web application components of this list.
Sarbanes-Oxley The Sarbanes-Oxley Act, which falls under the umbrella of the U.S. Securities
and Exchange Commission (SEC), was enacted on July 30, 2002. It focuses on
regulating corporate behavior for the protection of financial records, rather than
enhancing the privacy and security of confidential customer information.
Template Description
WASC This compliance template is based on the Web Application Security Consortium
threat classes. The WASC Threat Classification is a cooperative effort to clarify
and organize the threats to the security of a web site. When used in conjunction
with the All Checks policy, you can generate a compliance report that includes
each vulnerability check contained in SecureBase.
Managing Settings
This feature allows you to create, edit, delete, import, and export scan settings files.
You can also load and save settings and restore factory default settings from the Default Settings
window. Click Edit and select Default Scan Settings.
From the Fortify WebInspect Edit menu, select Manage Settings.
The Manage Settings window opens.
SmartUpdate
For installations connected to the Internet, the SmartUpdate feature contacts the Micro Focus data
center to check for new or updated adaptive agents, vulnerability checks, and policy information.
SmartUpdate will also ensure that you are using the latest version of Fortify WebInspect, and will
prompt you if a newer version of the product is available for download.
You can configure Fortify WebInspect settings to conduct a SmartUpdate each time you start the
application (select Application Settings from the Edit menu and choose Smart Update).
You can also run SmartUpdate on demand through the Fortify WebInspect user interface by selecting
Start SmartUpdate from the Fortify WebInspect Start Page, by selecting SmartUpdate from the
Tools menu, or by clicking the SmartUpdate button on the standard toolbar. For more information, see
"Tools Menu " on page 54 and "Toolbars " on page 57.
For installations lacking an Internet connection, see "Performing a SmartUpdate (Offline)" on the next
page.
Caution! For enterprise installations, if SmartUpdate changes or replaces certain files used by
Fortify WebInspect, the sensor service might stop and the sensor will display a status of "off line."
You must launch the Fortify WebInspect application and restart the service. To do so:
1. Click Edit > Application Settings.
2. Select Run as a Sensor.
3. Click the Start button in the Sensor Status area.
b. To view the checks being updated in a specific policy, select the policy in the list.
A list showing the ID, Name, and Version of checks being updated appears in the Related
Checks pane. The list is grouped by Added, Updated, and Deleted.
5. To install the updates, click Download.
Stage Description
1. Open a support case. Customer Support personnel will provide you with the
offline FTP server URL and login credentials (if needed). For more information,
see "Contact Customer Support" on page 458.
2. On a machine that can access the Internet, access the offline FTP server.
4. On the machine where Fortify WebInspect is installed, extract all files from the
ZIP file.
6. Copy the extracted SecureBase.sdf and version.txt files to the directory where
your SecureBase data resides.
l If your system is not FIPS enabled, then the default location is
C:\ProgramData\HP\HP WebInspect\SecureBase.
l If your system is FIPS enabled, then the location is C:\ProgramData\HP\HP
WebInspect\FIPS\SecureBase.
Note: By default, these folders are hidden in Windows. Be sure to change
folder options to show hidden files.
Is there any limitation on what types of attacks Fortify WebInspect can perform on WebSphere
Portal applications?
Fortify WebInspect can perform all manipulation attacks on WebSphere Portal applications. This
includes (but is not limited to) XSS, SQL Injection, CSRF, RFI, LFI and others. Fortify WebInspect will not
perform any site search attacks when scanning a WebSphere Portal site. These include searching for
backup files (.bak, .old), hidden files, hidden directories and platform specific configuration files. The
reason for this exclusion is because almost any request will result in a 200 response to the default portal
view and so there is no way to distinguish between an error response and a valid response.
How can you tell if the crawler is working correctly on a WebSphere Portal site?
The WebSphere Portal decoding service must be enabled and reachable on the server for the crawler to
perform optimally. You can confirm if this is working by manually decoding a URL. Copy a URL from
your site and modify it like this:
http://myhost.com/wps/poc?uri=state: path with navigation
state>&mode=download
You should get an xml response. Alternatively, start a scan of your site with the WebSphere Portal
overlay selected. Enable Traffic Monitor or run the scan through the Web Proxy. You should see
periodic requests to the decoder service in the following format:
http://myhost.com/wps/poc?uri=state: path with navigation
state>&mode=download.
Another thing to consider is that the path of the decoding service can be changed on the server. If this
is the case, you will need to modify your scan settings manually. Contact Fortify Customer Support for
assistance.
It is also possible to modify the navigation state marker. By default this is !ut/p. If this is changed from
the default on the server, you will need to modify your scan settings manually. Contact Fortify
Customer Support for assistance.
For more information, see "Contact Customer Support" on page 458.
Command-line Execution
Fortify WebInspect includes the following applications that you can use by way of the command-line
interface (CLI):
l WI.exe – Allows you to configure and conduct a scan using an existing macro, export scan files and
reports, merge scans, reuse scans, and test the login macro of an existing scan. For more information,
see "Using WI.exe" on the next page.
l WIScanStopper.exe – Allows you to stop a scan that is currently running. For more information, see
"Using WIScanStopper.exe" on page 287.
l MacroGenServer.exe – Allows you to create a login macro. For more information, see "Using
MacroGenServer.exe" on page 288.
These applications are installed in the same directory as Fortify WebInspect. By default, the installation
directory is:
Using WI.exe
You can initiate several Fortify WebInspect functions via a command-line interface (CLI) using the
program WI.exe. Use the following syntax when typing a command:
wi.exe -u url [-api type] [-s file] [-ws file] [-Framework name]
[-CrawlCoverage name] [-ps policyID | -pc path]
[-ab|an|ad|aa|ak|at creds] [-macro path] [-o|c] [-n name]
[-e[abcdefghijklmnopst] file] [-x|xd|xa|xn] [-b filepath] [-db]
[-d filepath -m filename] [-i[erxd] scanid | -ic scanid scanname
| -im option scanid scanlist] [-r report_name -y report_type
-w report_favorite -f report_export_file -g[phacxe]
[-t compliance_template_file] [-v] [-?]
To run multiple scans from the command line, create and execute a batch file, using a format similar to
the following:
c:
cd \program files\Fortify\Fortify WebInspect
wi.exe -u http://172.16.60.19 -ps 4
wi.exe -u http://www.mywebsite.com
wi.exe -u http://172.16.60.17
wi.exe -u http://172.16.60.16
Options
The options are defined in the following table. Items in italics require a value.
l Swagger
l OData
Important! You must provide the URL
to the Swagger or OData definition file,
as shown in the following example:
-u http://172.16.81.36/v1 -
api Swagger
Audit Policy -ps {policy id} Identifies the non-custom policy to use.
Values for policy id are as follows:
Best Practices
1 = Standard
1012 = OWASP Top 10 Application
Security Risks 2013
1024 = SANS Top 25 2011
1025 = OWASP Top 10 2017
1027 = General Data Protection Regulation
(GDPR)
1034 = DISA-STIGV4R9
By Type
3 = SOAP
7 = Blank
1001 = SQL Injection
1002 = Cross-Site Scripting
1005 = Passive
1008 = Critical and High Vulnerabilities
1010 = Aggressive SQL Injection
1011 = NoSQL and Node.js
1013 = Mobile
1015 = Apache Struts
1016 = Transport Layer Security
1020 = Privilege Escalation
1021 = Server-side
1022 = Client-side
1026 = DISA-STIG-V4R4
1029 = DISA-STIG-V4R5
1030 = DISA-STIG-V4R6
1031 = DISA-STIG-V4R7
1032 = DISA-STIGV4R8
1033 = WebSocket
Deprecated
2 = Assault (Deprecated)
4 = Quick (Deprecated)
5 = Safe (Deprecated)
6 = Development (Deprecated)
16 = QA (Deprecated)
17 = Application (Deprecated)
18 = Platform (Deprecated)
1009 = OWASP Top 10 Application
Security Risks 2010 (Deprecated)
1014 = OpenSSL Heartbleed (Deprecated)
1018 = Standard (Deprecated)
1019 = Deprecated Checks
Hazardous
1004 = All Checks
-at "Basic
YWxh0GRpbjpvcGVuc2VzYW1l"
Authentication modes for type are as
follows:
Basic
Bearer
Digest
HOBA
Mutual
Negotiate
OAuth
SCRAM-SHA-1
SCRAM-SHA-256
vapid
Macro -macro {macro path} Specifies macro name and directory path
for web macro authentication.
Scan Merge -ic {scan id} Creates a merge target scan. For more
{scan name} information, see "Merging Scans" on
page 286 in this topic.
vulnerabilities.
l ReplaceMergeVulns - Replace target
session with source session, and add
source vulnerabilities to target scan.
l Skip - When session IDs are the same in
both scans, do not merge sessions or
vulnerabilities.
l SkipMergeVulns - When session IDs
are the same in both scans, do not
replace target session and copy
vulnerabilities from source.
l Smart - Consider source and target
policy and times when merging.
Scan Reuse -iz /o:{option} Creates reuse scan settings. Choices for
{source scan id} option are:
{settings filename}
l Incremental - Use same settings as
source scan, with a modified policy that
disables checks that flagged in source
scan and that should only flag once. This
mode audits only new crawl surface. A
new crawl is performed, but only new
sessions are audited.
l Remediation - Use same settings as
source scan, with a modified policy that
disables checks that did not flag in
source scan.
l ReuseCrawl - Use same settings as
source scan, with crawl sessions copied
from source scan.
Scan -iv <guid> {[<severity> | Creates a settings file that you can use to
Vulnerability <vuln ID prefix>] ...} /s start a scan to retest vulnerabilities. You
Retest <file path> can retest vulnerabilities by severity or
unique sessionCheckFoundID or both. If
you do not provide a severity or
sessionCheckFoundID, then all
vulnerabilities in the base scan are retested.
Parameter components are as follows:
012fa34124.
Test Login Macro -it {scan id} Tests login macro of existing scan.
Examples
The following examples illustrate command line execution as if executed from the WebInspect home
directory:
wi.exe -u https://zero.webappsecurity.com
-s c:\program files\webinspect\scans\scripted\
-r "Executive Summary";Vulnerability -y Standard
-f c:\program files\webinspect\scans\scripted\zero051105.xml -gx
If you do not specify a policy, Fortify WebInspect will crawl (but not audit) the Web site.
If you specify an invalid policy number, Fortify WebInspect will not conduct the scan.
Merging Scans
Note: This feature is not supported in Fortify WebInspect on Docker.
You cannot merge into an existing scan. You must first create a merge target using the "ic" parameter.
The scans to be merged are sorted by scan date and are merged in that order. Order is important
because information is lost when session IDs are the same in the two scans. When this occurs, by default
the earlier session and vulnerability are overwritten with the later session and vulnerability. To prevent
this when merging, you can choose another option for handling identical session IDs.
Note: Merging may work best with two scans that have few or no identical session IDs.
For all merge scan options, only sessions with an audit status of “Complete” in the source scan are
merged. Session Exclusions (excluded from audit) are not merged. See "Audit Settings: Attack
Exclusions" on page 397 for more information.
Note: The process, as it appears in the Task Manager, is WI.exe. Scan data will be cached
temporarily in the Working directory and then moved to the Scans directory.
Using WIScanStopper.exe
The WIScanStopper.exe application allows you to stop a scan that is currently running.
To stop a scan that is running, type the following on the command line:
WIScanStopper {scanid}
The WIScanStopper.exe application stops the scan with the specified scan ID (GUID). The application
returns one of the exit codes described in the following table.
Code Description
1 The given argument is not a GUID. Try the command again with a valid scan ID
(GUID).
2 The scan with the given GUID was not found to be running on the machine.
Verify the scan ID (GUID) and try the command again.
Tip: You can restart a scan that is stopped using the WI.exe application with the -ir {scanid}
parameter. For more information, see "Options" on page 275.
Using MacroGenServer.exe
The MacroGenServer.exe application allows you to create a login macro from the command-line
interface (CLI) by providing the start URL, username, and password. The following text provides sample
syntax for using the application on the CLI:
macrogenserver.exe -u http://zero.webappsecurity.com/login.html -mu username
-mp password
Options
The available options are defined in the following table.
Parameter Definition
Important! If the username contains special characters, you must wrap the
string in double quotation marks. If the username contains the double
quotation mark character, you must use the escape character to pass the
quotation mark as part of the username. Refer to the documentation for the
specific command-line interface you are using to determine the escape
character.
Important! If the password contains special characters, you must wrap the
string in double quotation marks. If the password contains the double
quotation mark character, you must use the escape character to pass the
quotation mark as part of the password. Refer to the documentation for the
specific command-line interface you are using to determine the escape
character.
l 4.0 – Creates a macro that uses macro engine 4.0 technology. This is the
default version of macro.
l 5.0 – Creates a macro that uses macro engine 5.0 technology. This is the new
version of macro, and may be beneficial for scanning applications built in
modern frameworks.
Parameter Definition
-m Specifies the file path where you want to save the login macro.
l Basic
l Digest
l Ntlm
an entity set, view the error in the HTTP details tab of the Web Macro Recorder to determine the
requirements for the entity.
Process Overview
The process for scanning a REST API is as follows.
Stage Description
WISwag.exe Parameters
The WISwag.exe parameters are defined in the following table.
Parameter Description
Example:
-a ./<api-def_filename>.json
Example:
Parameter Description
-ab QWxhZGRpbjpPcGVuU2VzYW1l
-c Generates custom parameter rules as a list of strings in the specified output file. The
output file uses the .txt extension. The generated text file can be imported into the
URL rewriting settings from the Advanced Settings in the Basic Scan Wizard. For
more information, see "Scan Settings: Custom Parameters" on page 361.
Example output:
/odata-v4-test/Odata4Service.svc/Products({ID})
/odata-v4-test/Odata4Service.svc/Categories({ID})
-h Generates http requests for each audit session to be scanned in the specified output
file. The output file uses the .txt extension. You can copy requests and paste them to
the http editor for debugging.
Example output:
GET http://bhillwin7.spidynamics.com:8080/odata-v4-
test/Odata4Service.svc/Products HTTP/1.1
Accept: application/json;odata.metadata=full
Host: bhillwin7.spidynamics.com:8080
X-WISwag-ID: GET_/odata-v4-test/Odata4Service.svc/Products
OData-Version: 4.0
If-Match: *
-i Specifies the input file and location. The input file can be an API definition file or a
configuration file. To override default settings and control which endpoints are
processed, use a configuration file. For more information, see "Using a Configuration
File" on page 293.
The location can be a URL or a local file.
Examples:
-i http://mysite.com/api_def.json
-i C:/myapi.json
-it Specifies the input type. Valid values are odata and swagger.
Examples:
-it swagger
Parameter Description
-it odata
-m Generates a WebInspect macro in the specified output file. The output file uses the
.webmacro extension.
Example:
-m ./<macro_filename>.webmacro
-ma Injects the authorization header into the request for the API definition file.
Note: This is useful if you use an authorization header in the configuration file
and you need the same authorization header to be injected into the request for
the API definition file.
-s Generates a WebInspect settings file in the specified output file. The API definition
along with any configuration overrides are added to the settings file. This is the
recommended option when scanning a REST API. The output file uses the .xml
extension.
Example:
-s ./<settings_filename>.xml
Open the scan settings in Fortify WebInspect and explore the contents. You should find that a workflow
macro and custom parameter rules are already defined.
{
apiDefinition : 'http://mysite.com/api_def.json', /* can also be a local
file (ex. C:/myapi.json) */
host : 'localhost:8080', /* replace the host in every generated request */
schemes : ['https', 'http'], /* generate output for both of these schemes */
preferredContentType : 'application/json', /* if given a choice, prefer json
*/
excludeOperations : [ 'logoutUser', 'deleteUser' ], /* generate no output
for these operations */
parameterRules :
[
{
name : 'userId',
value : 42,
location : 'path',
type : 'number',
includeOperations : ['createNewUser', 'getUser'] /* only apply this rule
to these operations */
},
{
name : 'file',
value : 'my file payload',
filename : 'myfile.txt',
location : 'body',
type : 'file'
},
{
name : 'Authorization',
value : 'Basic QWxhZGRpbjpPcGVuU2VzYW1l',
location : 'header',
inject : true /* add this header to every generated request */
}
]
}
Configuration Properties
The configuration properties are described in the following table.
Required /
Property Optional Description
Example:
localhost:8080
Example:
['http','https']
preferredContentType Optional Sets the preferred content type of the request payload.
Required /
Property Optional Description
Example:
[ 'operation1', 'operation2',
'operationN' ]
Example:
[ 'operation1', 'operation2',
'operationN' ]
parameterRules Optional Defines specific values for a parameter when the default
value is not appropriate or when the parameter is not
defined in the API definition.
Example:
A parameter, such as an authorization header which
is not defined in the API definition, needs to be
injected into every request.
Required /
Object Optional Description
Required /
Object Optional Description
{
name : 'name',
value : 'Romeo',
location : 'body',
type : 'string',
includeOperations : [ 'addPet']
},
{
name : 'tag/name',
value : 'Juliet',
location : 'body',
type : 'string',
includeOperations : [ 'addPet']
},
l 'body'
l 'header'
l 'path'
l 'query'
l 'any'
The default is 'any' and matches all locations .
l 'number'
l 'boolean'
l 'string'
l 'file' (See filename below.)
l 'date'
Required /
Object Optional Description
l 'any'
The default is 'any' and matches all types.
includeOperations Optional Applies this parameter rule to the operation IDs in the list,
expressed an array of operation IDs.
Example:
excludeOperations Optional Does not apply this parameter rule to the operation IDs in
the list, expressed as an array of operation IDs.
Example:
[ 'operation1', 'operation2',
'operationN' ]
Regular Expressions
Special metacharacters and sequences are used in writing patterns for regular expressions. The
following table describes some of these characters and includes short examples showing how the
characters are used. Another recommended resource is the Regular Expression Library at
http://regexlib.com/Default.aspx.
To verify the syntax of regular expressions you create, use the Regular Expression Editor (if it is
installed on your system).
Character Description
\ Marks the next character as special. /n/ matches the character " n ". The sequence /\n/
matches a line feed or newline character.
* Matches the preceding character zero or more times. /zo*/ matches either " z " or "zoo."
+ Matches the preceding character one or more times. /zo+/ matches "zoo" but not "z."
? Matches the preceding character zero or one time. /a?ve?/ matches the "ve" in "never."
[xyz] A character set. Matches any one of the enclosed characters. /[abc]/ matches the "a" in
"plain."
\b Matches a word boundary, such as a space. /ea*r\b/ matches the "er" in "never early."
Character Description
\s Matches any white space including space, tab, form-feed, and so on. Equivalent to [
\f\n\r\t\v]
Fortify WebInspect developers have also created and implemented extensions to the normal regular
expression syntax. For more information, see "Regex Extensions" below.
Regex Extensions
Fortify engineers have developed and implemented extensions to the normal regular expression (regex)
syntax. When building a regular expression, you can use the tags and operators described below.
Examples
l To detect a response in which (a) the status line contains a status code of "200" and (b) the phrase
"logged out" appears anywhere in the message body, use the following regular expression:
Note: You must include a space (ASCII 32) before and after an "open" or "close" parenthesis;
otherwise, the parenthesis will be erroneously considered as part of the regular expression.
l To detect a redirection response where "login.aspx" appears anywhere in the redirection Location
header, use the following regular expression:
[STATUSDESCRIPTION]Please\sAuthenticate
See Also
"Regular Expressions" on page 298
Important! Due to limitations with SQL Express, running multiple scans using a SQL Express
database may cause unsatisfactory results. For this reason, Fortify recommends not conducting
concurrent (or parallel) scans for installations using SQL Express.
Setting Value
Host Both Fortify WebInspect and the Fortify WebInspect REST API must reside on
the same machine. The default setting, +, is a wild card that tells the Fortify
WebInspect REST API to intercept all request on the port identified in the Port
field. If you have another service running on the same port and want to define
a specific hostname just for the API service, this value can be changed.
Port Use the provided value or change it using the up/down arrows to an available
Setting Value
port number.
Authentication Choose None, Windows, Basic, or Client Certificate from the Authentication
drop-down list.
If you choose Basic for authentication, you must provide user name(s) and
password(s). To do this:
a. Click the Edit passwords button and select a text editor.
The wircserver.keys file opens in the text editor. The file includes
sample user name and password entries:
username1:password1
username2:password2
b. Replace the samples with user credentials for access to your server. If
additional credentials are needed, add a user name and password,
separated by a colon, for each user to be authenticated. There should be
only one user name and password per line.
c. Save the file.
If you choose Client Certificate for authentication, you must first generate a
client certificate based on your root SSL certificate issued by a trusted
certificate authority (CA), and then install it on the client machine.
Tip: You can use a tool, such as the MakeCert utility in the Windows
Software Development Kit (SDK), to create your client certificate.
Use HTTPS Select this check box to access the server over an HTTPS connection.
To run the server over HTTPS, you must create a server certificate and bind it
to the API service. To quickly create a self-signed certificate to test the API
over HTTPS, run the following script in an Administrator PowerShell console:
$rootcertID = (New-SelfSignedCertificate -DnsName "DO NOT
TRUST - WIRC Test Root CA","localhost",
"$($env:computername)" -CertStoreLocation
"cert:\LocalMachine\My").Thumbprint
$rootcert = (Get-Item -Path
"cert:\LocalMachine\My\$($rootcertID)")
Setting Value
Log Level Choose the level of log information you want to collect.
Note: You can view the API log files using the Windows Event Viewer. The
log files are located under Applications and Services Logs >
WebInspect API.
What is Postman?
Postman is an API development environment that allows you to design, collaborate on, and test APIs.
Postman lets you create collections for your API calls, where each collection can be organized into
subfolders and multiple requests. You can import and export collections, making it easy to share files
across your development and testing environment. Through the use of a Collection Runner such as
Newman, tests can be run in multiple iterations, saving time on repetitive tests.
Prerequisites
While you must have a Postman collection for use in the scan, it is not necessary to install Postman on
the machine where the Fortify WebInspect REST API is installed.
However, you must install the following third-party software on the machine where the Fortify
WebInspect REST API is installed:
l Node.js and Node Package Manager (npm)
l Newman command-line Collection Runner
Important! You must install Newman globally rather than locally. You can do this by adding a
-g argument to the installation command, as follows:
For specific supported version numbers, see the Micro Focus Fortify Software System Requirements
available at https://www.microfocus.com/support-and-services/documentation/.
Order of Requests
Remember that the order of operations or requests is important. For example, you must create (or
POST) sample data to a parameter before you can do a GET or a DELETE operation on the data.
Tip: To avoid URL errors while running the collection in Fortify WebInspect, after bundling the API
requests in the correct order in your collection, save each request individually by clicking the
request and then clicking Save.
Handling Authentication
If your API requires authentication, you must configure it in the Postman collection. Follow these
guidelines when configuring authentication:
l The user credentials must be current and not expired.
l If you use an environment to specify authentication information, select the type of authentication
environment in the Postman collection.
l It is possible that not all requests in the collection require authentication or not all requests require
the same type of authentication. If this is the case in your collection, be sure to specify the
appropriate authentication type for each request in the collection.
Stage Description
Stage Description
4. The endpoint returns the scan ID (GUID) and the results of the Postman collection.
You can integrate Fortify WebInspect with Selenium Webdriver, also known as Selenium 2.0, to do the
following:
l Conduct a scan using the WI.exe command-line tool
l Create a workflow macro using the Fortify WebInspect REST API
Known Limitations
The following are known limitations for integrating Fortify WebInspect with Selenium Webdriver:
l Fortify WebInspect supports Selenium WebDriver only.
l Fortify WebInspect does not support Selenium WebDriver with remote server configuration, such as
the RemoteWebDriver class.
l A Selenium WebDriver macro can be used as a workflow macro only. It cannot be a login or startup
macro.
l You can initiate a scan using a Selenium WebDriver macro from the command line interface (CLI) or
the API only. While you cannot initiate a scan from the user interface, you can rescan and
import/export a Selenium WebDriver macro.
l Support for Fortify WebInspect Enterprise is limited. You can use a macro file that was created from
the CLI or API, but only if you have completed setup of the Selenium WebDriver environment on the
sensor machine.
Process Overview
The process for integrating Fortify WebInspect with Selenium WebDriver is described in the following
table.
Stage Description
1. Fortify WebInspect must be able to capture traffic from a web browser using the Fortify
WebInspect proxy. Do one of the following to enable proxy capture:
l Add the proxy to your Selenium scripts directly in the code or using a placeholder in the
command line interface as described in "Adding the Proxy to Selenium Scripts" on the
next page.
l Use the Fortify WebInspect geckodriver.exe for capturing traffic when using Firefox as
described in "Using the Fortify WebInspect geckodriver.exe" on page 315.
2. Install the Selenium WebDriver environment on the machine running Fortify WebInspect
as described in "Installing the Selenium WebDriver Environment" on page 316.
3. Ensure that you can start up the Selenium Webdriver scripts from the command line and
define your Allowed Hosts as described in "Testing from the Command Line" on page 316.
4. Optionally, upload all scripts and their dependencies to the Selenium API or manually copy
Stage Description
them to the machine running Fortify WebInspect as described in "Uploading Files to Fortify
WebInspect" on page 319.
5. Use the command from Stage 3 to run a scan using WI.exe or create a macro using the
WebInspect REST API as described in "Using the Selenium Command" on page 319.
Advantages
This approach provides flexibility, as it can run from any browser that Selenium supports. Additionally,
this approach should provide some upgrade protection. The Fortify code resides in your scripts, so you
should be able to continue using it in future versions of Selenium with only minor code changes.
Disadvantages
This approach involves a one-time manual task of adding Fortify code to your scripts for initializing the
browser correctly.
Sample Code
You must get the value from the environmental variable named Fortify_WI_Proxy, and then store it
as an HTTP and HTTPS proxy for the web browser and trust certificate. How you do this depends on
your programming language. The following sections provide sample code for several languages.
Note: These code samples are based on Selenium WebDriver version 3.14. Code for your specific
version might be different.
C#
In your C# code, you must find where the browser driver is initialized and add browser options to it. The
following is an example for the Chrome browser.
if (!String.IsNullOrEmpty(proxy))
{
config.AcceptInsecureCertificates = true;
config.Proxy = new Proxy();
config.Proxy.HttpProxy = proxy;
config.Proxy.SslProxy = proxy;
}
… new FirefoxDriver(config))
Java
In your Java code, you must find where the browser driver is initialized and add browser options to it.
The following is an example for the Chrome browser.
JavaScript
In your JavaScript code, you must find where the browser driver is initialized and add browser options
to it. The following is an example for the Chrome browser.
Python
In your Python code, you must find where the browser driver is initialized and add browser options to it.
The following is an example for the Chrome browser.
capabilities1 = DesiredCapabilities.CHROME.copy()
Fortify = os.environ.get('Fortify_WI_Proxy')
if Fortify is not None:
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = Fortify
prox.ssl_proxy = Fortify
prox.add_to_capabilities(capabilities1)
cls.driver = webdriver.Chrome(executable_path='C:/chromedriver.exe',
desired_capabilities=capabilities1)
import os
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver.common.proxy import Proxy, ProxyType
……
capabilities1 = DesiredCapabilities.FIREFOX.copy()
Fortify = os.environ.get('Fortify_WI_Proxy')
if Fortify is not None:
capabilities1['acceptInsecureCerts'] = True
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = Fortify
prox.ssl_proxy = Fortify
prox.add_to_capabilities(capabilities1)
cls.driver = webdriver.Firefox(executable_path='C:/geckodriver.exe',
capabilities=capabilities1)
Ruby
In your Ruby code, you must find where the browser driver is initialized and add browser options to it.
The following is an example for the Chrome browser.
http_proxy = ENV['Fortify_WI_Proxy']
if http_proxy
proxy = Selenium::WebDriver::Proxy.new(http: http_proxy, ssl: http_proxy)
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(accept_
insecure_certs: true)
capabilities.proxy = proxy;
else
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome()
end
http_proxy = ENV['Fortify_WI_Proxy']
if http_proxy
proxy = Selenium::WebDriver::Proxy.new(http: http_proxy, ssl: http_proxy)
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox(accept_
insecure_certs: true)
capabilities.proxy = proxy;
else
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox()
end
-proxy "{Fortify_WI_Proxy}"
If you must specify the host and port separately, then you can use a placeholder for each as shown here:
-proxy "{Fortify_WI_Proxy_Host}:{Fortify_WI_Proxy_Port}"
These arguments will replace the placeholder in your scripts with the Fortify WebInspect proxy at run
time.
Advantages
This approach requires less work for you.
Disadvantages
You will not be able to use the latest version of geckodriver.exe, and you must use only Firefox scripts.
In most cases, you must call this executable with a list of DLLs, which are the test file names that you
want to run. The following sample code runs two test files:
.NET NUnit
The NUnit framework uses a tool called nunit3-console.exe (version 3.x) with the following syntax:
NUNIT3-CONSOLE <InputFiles> <Options>
You must call this executable with a list of DLLs, which are the test file names that you want to run. The
following sample code runs two test files:
C:\nunit\net35\nunit3-console.exe
"C:\Projects\Tests\bin\TestHomepage_unittest.dll"
"C:\Projects\Tests\bin\AddCart_unittest.dll"
xUnit.net
The xUnit.net framework provides two command-line runners: xunit.console.exe and
xunit.console.x86.exe. You use the following syntax:
xunit.console <assemblyFile> [configFile] [assemblyFile [configFile]...]
[options] [reporter] [resultFormat filename [...]]
xUnit.net accepts .json and .xml file extensions as configuration files (configFile).
You must call the appropriate executable with a list of DLLs, which are the test file names that you want
to run. The following sample code runs two test files:
C:\xunit\xunit.console.exe
"C:\Projects\Tests\bin\TestHomepage_unittest.dll"
"C:\Projects\Tests\bin\AddCart_unittest.dll"
Java TestNG
The TestNG framework requires testng.jar libraries with a classpath (-cp) option and the java.exe
application. In the -cp option, you must list all the library classes that you need to run your project. You
use the following syntax:
java -cp "<Path_to_testngjar>/testng.jar:<Path_to_Test_Classes>"
org.testng.TestNG <Path_to_Test_xml>
The following sample code runs an XML test file:
org.testng.TestNG testng.xml
Java JUnit
The JUnit framework has several versions and each version has its own command to execute tests. In
the -cp option, you must list all the library classes that you need to run your project.
JUnit version 5.x uses the following syntax:
java -jar junit-platform-console-standalone-<version>.jar --class-path <Path_
to_Compiled_Test_Classes> --scan-class-path
JUnit version 4.x uses the following syntax:
java -cp .\libs\:<Path_to_Junitjar>\junit.jar org.junit.runner.JUnitCore
[test class name]
JUnit version 3.x uses the following syntax:
java -cp .\libs\:<Path_to_Junitjar>\junit.jar junit.textui.TestRunner [test
class name]
The following sample code runs a test class:
C:\Python\Python37-32\python.exe -m unittest
C:\SampleProjects\POMProjectDemo\Tests\tests.py
Ruby RSpec
The RSpec framework provides unit testing libraries for Ruby code. This framework uses the following
syntax:
<Path_to_RSpec>\rspec.bat [options] [files or directories]
C:\Ruby26-x64\bin\rspec.bat -I C:\Ruby26-x64\Project\lib\
C:\Ruby26-x64\Project\spec\calculator_spec.rb
JavaScript Jest
Jest a JavaScript library for creating and running tests on JavaScript code. This framework uses the
following syntax:
<Path_to_Jest>\jest.js [--config=<pathToConfigFile>] [TestPathPattern]
The following sample code runs a test library:
C:\Users\admin\AppData\Roaming\npm\jest.cmd"
--config=C:\Users\admin\AppData\Roaming\npm\jest.config.js
C:/Users/admin/AppData/Roaming/npm/sum.test.js
<Command>\"C:\Program Files\nunit\nunit3-console.ex\"
C:\Projects\Tests\bin\TestHomepage_unittest.dll
\"C:\Projects\Tests Main\bin\AddCart_unittest.dll\"</Command>
You place the Selenium command you created previously in the Command tag in the following syntax.
For more information, see "Creating a Selenium Command" on page 316.
<ArrayOfSeleniumCommand>
<SeleniumCommand>
<Command>"Commands"</Command>
<AllowedHosts>
<string>http://hostname/</string>
</AllowedHosts>
<WorkingDirectory>C:\pathtoprojectfolder\</WorkingDirectory>
</SeleniumCommand>
<SeleniumCommand>
...
</SeleniumCommand>
...
</ArrayOfSeleniumCommand>
-selenium_workflow "@D:\tmp\selenium_wd\wd_firefox.txt"
Complete usage information and sample code are included in the Swagger UI, and objects are similar to
those described in "Running a Scan Using WI.exe" on the previous page. For more information, see
"Using the Swagger UI" on page 304.
The WorkingDirectory and AllowedHosts arguments are optional. In some cases, AllowedHosts
can be determined automatically. However, Fortify recommends that you set AllowedHosts for each
macro.
In some cases, you must set the Working Directory path, which is the "current working directory," for the
WorkingDirectory argument.
Note: Fortify WebInspect check IDs and names do not map to Burp issue IDs and names.
Supported Versions
The Fortify WebInspect Burp API extension is compatible with the new Burp Extension API.
See Also
"Fortify WebInspect REST API" on page 301
"Using the Burp API Extension" below
2. In the Extension file (.jar) field, click Select file and navigate to the WebInspectBurpExtension.jar
file.
Tip: The WebInspectBurpExtension.jar file can be found in the Extensions directory in the
Fortify WebInspect installation location. The default location is one of the following:
C:\Program Files\Fortify\Fortify WebInspect\Extensions
C:\Program Files (x86)\Fortify\Fortify WebInspect\Extensions
3. Ensure that the Show in UI option is selected under the Standard Output and Standard Error
sections.
4. Click Next.
WebInspect Connector appears in the list of Burp Extensions and a tab labeled "WebInspect" is
added to the Burp user interface. If you do not see the WebInspect tab, then the Burp extension
did not load correctly. In this case, look in the Output and Errors tabs for information that may help
you to troubleshoot the issue.
e. Select the Use Proxy checkbox, and type the Proxy Host name and the Proxy Port number.
f. Click Save.
3. Click Connect.
The scan opens in a new tab under the WebInspect tab, with Crawl sessions and Vulnerable
sessions listed. The list of sessions is automatically sorted by Type with Vulnerabilities first followed
by Crawl sessions.
2. To re-sort on a sorted column in reverse order, click the column heading. To sort the list using
different sort criteria, click the heading of the column you want to sort by. The following table
describes some sort scenarios:
Want to see all sessions that used a specific Method and scroll to the specific method you
method want
Want to see all sessions affecting a specific URL and scroll to the specific page you want
page in your Web site
Want to select all sessions with Critical and Severity and scroll to the sessions with Critical
High severities and send them to a Burp tool and High severities
Want to select all sessions with the same check Name and scroll to the specific check name you
name want
3. To update the list of sessions—such as when Burp is connected to a scan that is still running—click
Refresh Sessions.
4. To view the request for a session, click the session in the list.
The session request information appears at the bottom of the window. Click the request to see the
response.
5. To send one or more sessions to a Burp tool for further analysis, select the session(s), right-click
and select the appropriate "Send To" option.
Note: Current options are Send To Spider, Send To Intruder, and Send To Repeater. For more
information about Burp tools, see the Burp Suite documentation.
6. To create an issue for a Vulnerable session and add it to the Scanner tab in Burp, right-click on the
session and select Create Issue.
The issue is populated with report data from Fortify WebInspect and the issue name is tagged with
[WebInspect] to indicate that the issue was added from an external resource.
Note: The Create Issue option is only available in the Burp Professional Edition and is not
available for Crawl sessions.
2. Click the Scanner tab and then the Results tab.
3. To send a request/response to Fortify WebInspect to be crawled, right click the request and select
Send To WebInspect > [scan name].
Fortify WebInspect creates a session for the request that is ready to be crawled. You can return to
the scan in the WebInspect tab and click Resume Scan to crawl the session.
Note: Scan settings for the open scan apply to the session being sent. This may affect what
Fortify WebInspect does with the session. For instance, if the open scan is for Host A and you
send a session from Host B, but Host B is not in the Allowed Hosts list for the open scan, the
session will be excluded and will not be crawled.
4. To send an issue to Fortify WebInspect as a manual finding, right click the issue and select Send To
WebInspect > [scan name].
The issue is populated with report data from Burp and the issue name is tagged with [Burp] to
indicate that the issue was added from an external resource.
See Also
"About the Burp API Extension" on page 321
"Fortify WebInspect REST API" on page 301
"Micro Focus Fortify Monitor " on page 103
Caution! Fortify recommends that the WebInspect SDK be used only by qualified software
developers who have expertise in developing code using Visual Studio.
an audit extension that will flag a vulnerability. After the extension has been created, the developer
sends it to the local copy of SecureBase, the Fortify WebInspect database of adaptive agents and
vulnerability checks, where it is stored as a custom agent. The custom agent is assigned a Globally
Unique Identifier (GUID) and becomes available for use in policies in the Policy Manager for a Fortify
WebInspect product.
When inspecting the scan results, you can perform the same actions—such as Copy URL and Review
Vulnerability—on a vulnerability discovered by a custom agent as you can a vulnerability discovered by
a standard check. For more information, see "Inspecting the Results" on page 230.
SDK Functionality
The SDK provides developers with the functionality to:
l Inspect sessions generated by the Fortify WebInspect crawler and auditor
l Inject values into parameters (parameter and sub-parameter fuzzing)
l Queue a URL for crawling (for the Fortify WebInspect crawler to crawl)
l Flag a vulnerability
l Send a raw HTTP request through the Fortify WebInspect requestor
l Request and response parsing via ParseLib
l Log events and errors
Installation Recommendation
The WebInspect SDK does not need to be installed on the same machine as a Fortify WebInspect
product. In most cases, it will be installed on the software developer’s development machine. However, if
you are developing new extensions that will require debugging, Fortify recommends that you install
Fortify WebInspect on the development machine where you will be creating the extension. Doing so will
allow you to test your extension locally. For existing extensions that do not require debugging, you do
not need to install Fortify WebInspect locally.
Refer to the Micro Focus Fortify Software System Requirements document for minimum requirements
for installing and using the WebInspect SDK.
To install the local copy where Fortify WebInspect is installed on the developer's machine:
1. Navigate to the Extensions folder and double click the WebInspectSDK.vsix file.
The VSIX Installer is launched.
2. When prompted, select the Visual Studio product(s) to which you want to install the extension and
click Install.
The WebInspect Audit Extension project template is created in Visual Studio. Continue with
"Verifying the Installation" below.
To install the local copy where Fortify WebInspect is NOT installed on the developer's machine:
1. Navigate to the Extensions folder and copy the WebInspectSDK.vsix file to portable media, such
as a USB drive.
2. Insert the drive into the development box that has Visual Studio 2013 installed, as well as the
related required software and hardware.
3. Navigate to the USB drive and double click the WebInspectSDK.vsix file.
The VSIX Installer is launched.
4. When prompted, select the Visual Studio product(s) to which you want to install the extension and
click Install.
The WebInspect Audit Extension project template is created in Visual Studio. Continue with
"Verifying the Installation" below.
After Installation
After installing and configuring the WebInspect SDK, the developer can create a new WebInspect Audit
Extension project in Visual Studio. In this project, the developer will create an audit extension, debug
and test the extension, and publish the extension to SecureBase as a custom agent. For information
about using the WebInspect Audit Extension project template, refer to the WebInspect SDK
documentation in Visual Studio.
After the developer has sent the custom agent to SecureBase, the agent can be selected in policies in
the Policy Manager. See the Policy Manager documentation for more information.
the data into a Fortify WebInspect scan allows you to report and track vulnerabilities using Fortify
WebInspect features.
Note: When creating additions to the data hierarchy, you must manually add resources in a logical
sequence. For example, to create a subdirectory and page, you must create the subdirectory before
creating the page.
1. Replace the default name of the page or directory with the name of the resource to be added.
2. If necessary, edit the HTTP request and response. Do not change the request path.
3. You can send a request to the resource and record the response in the session data. This will also
verify the existence of the resource that was not discovered by Fortify WebInspect:
a. Click HTTP Editor to open the HTTP Editor.
b. If necessary, modify the request.
c. Click .
d. Close the HTTP Editor.
e. When prompted to use the modified request and response, select Yes.
4. (Optional) To delete all request and response modifications, click Reset.
5. When finished, click OK.
Add Variation
If you use manual inspection or other security analysis tools to detect resources that Fortify WebInspect
did not discover, you can add these locations manually and assign a vulnerability to them. Incorporating
the data into a Fortify WebInspect scan allows you to report and track vulnerabilities using Fortify
WebInspect features.
A variation is a subnode of a location that lists particular attributes for that location. For example, the
login.asp location might have the variation:
(Post) uid=12345&Password=foo&Submit=Login
Variations, like any other location, can have vulnerabilities attached to them, as well as subnodes.
1. In the Name box, replace the default "attribute=value" with the actual parameters to be sent (for
example, uid=9999&Password=kungfoo&Submit=Login.
2. Select either Post or Query.
3. If necessary, edit the HTTP request and response. Do not change the request path.
4. You can send a request to the resource and record the response in the session data. This will also
verify the existence of the resource that was not discovered by Fortify WebInspect:
a. Click HTTP Editor to open the HTTP Editor.
b. If necessary, modify the request.
c. Click .
Item Description
Manager URL Enter the URL or IP address of the Enterprise Server Manager.
Sensor Enter a user name (formatted as domain\username) and password, then click
Authentication Test to verify the entry.
Enable Proxy If Fortify WebInspect must go through a proxy server to reach the Enterprise
Server manager, select Enable Proxy and then provide the IP address and port
number of the server. If authentication is required, enter a valid user name and
password.
Override Fortify WebInspect normally stores scan data in the device you specify in the
Database Application Settings for Fortify WebInspect Database. However, if Fortify
Settings WebInspect is connected to Fortify WebInspect Enterprise as a sensor, you can
select this option and then click Configure to specify an alternative device.
Service Account You can log on to the sensor service using either the LocalSystem account or an
account you specify.
Sensor Status This area displays the current status of the Sensor Service and provides buttons
allowing you to start or stop the service.
Blackout Period
When Fortify WebInspect is connected to Fortify WebInspect Enterprise, a user may attempt to conduct
a scan during a blackout period, which is a block of time during which scans are not permitted by the
enterprise manager. When this occurs, the following error message appears:
"Cannot start Scanner because the start URL is under the following blackout period(s)..."
You must wait until the blackout period ends before conducting the scan.
Similarly, if a scan is running when a blackout period begins, the enterprise manager will suspend the
scan, place it in the pending job queue, and finish the scan when the blackout period ends. In cases
where a blackout is defined for multiple IP addresses, the enterprise manager will suspend the scan only
if the scan begins at one of the specified IP addresses. If the scan begins at a non-excluded IP address,
but subsequently pursues a link to a host whose IP address is specified in the blackout setting, the scan
will not be suspended.
Creating an Exclusion
To add exclusion/rejection criteria:
1. Click Add (on the right side of the Other Exclusion/Rejection Criteria list).
The Create Exclusion window opens.
2. Select an item from the Target list.
3. If you selected Query Parameter, Post Parameter, or Response Header as the target, enter the
Target Name.
4. From the Match Type list, select the method to be used for matching text in the target:
l Matches Regex - Matches the regular expression you specify in the Match String box.
l Matches Regex Extension - Matches a syntax available from Fortify's regular expression
extensions you specify in the Match String box. For more information, see "Regex Extensions"
on page 299.
l Matches - Matches the text string you specify in the Match String box.
l Contains - Contains the text string you specify in the Match String box.
5. In the Match String box, enter the string or regular expression for which the target will be
searched. Alternatively, if you selected a regular expression option in the Match Type, you can click
the drop-down arrow and select Create Regex to launch the Regular Expression Editor.
6. Click .
7. (Optional) Repeat steps 2-6 to add more conditions. Multiple matches are ANDed.
8. If you are working in Current Settings, you can click Test to process the exclusions on the current
scan. Any sessions from that scan that would have been filtered by the criteria will appear in the
Example 1
To ensure that you ignore and never send requests to any resource at Microsoft.com, enter the
following exclusion and select Reject.
Example 2
Enter "logout" as the match string. If that string is found in any portion of the URL, the URL will be
excluded or rejected (depending on which option you select). Using the "logout" example, Fortify
WebInspect would exclude or reject URLs such as logout.asp or applogout.jsp.
Example 3
The following example rejects or excludes a session containing a query where the query parameter
"username" equals "John."
Example 4
The following example excludes or rejects the following directories:
http://www.test.com/W3SVC55/
http://www.test.com/W3SVC5/
http://www.test.com/W3SVC550/
Scan Mode
The Scan Mode options are described in the following table.
Option Description
Crawl Only This option completely maps a site's tree structure. After a crawl has been
completed, you can click Audit to assess an application’s vulnerabilities.
Crawl and Audit As Fortify WebInspect maps the site's hierarchical data structure, it audits
each resource (page) as it is discovered (rather than crawling the entire site
and then conducting an audit). This option is most useful for extremely
large sites where the content may possibly change before the crawl can be
completed. This is described in the Default Settings Crawl and Audit Mode
option called Simultaneously. For more information, see "Crawl and Audit
Mode" on the next page.
Audit Only Fortify WebInspect applies the methodologies of the selected policy to
determine vulnerability risks, but does not crawl the Web site. No links on
the site are followed or assessed.
Manual Manual mode allows you to navigate manually to whatever sections of your
application you choose to visit. It does not crawl the entire site, but records
(Not available for
Option Description
Guided Scan) information only about those resources that you encounter while manually
navigating the site. This feature is used most often to enter a site through a
Web form logon page or to define a discrete subset or portion of the
application that you want to investigate. After you finish navigating
through the site, you can audit the results to assess the security
vulnerabilities related to that portion of the site that you recorded.
Option Description
Simultaneously As Fortify WebInspect maps the site's hierarchical data structure, it audits
each resource (page) as it is discovered (rather than crawling the entire site
and then conducting an audit). This option is most useful for extremely
large sites where the content may possibly change before the crawl can be
completed.
Sequentially In this mode, Fortify WebInspect crawls the entire site, mapping the site's
hierarchical data structure, and then conducts a sequential audit, beginning
at the site's root.
Option Description
Include search probes If you select this option, Fortify WebInspect will send requests for files and
(send search attacks) directories that might or might not exist on the server, even if those files
are not found by crawling the site.
This option is selected by default only when the Scan Mode is set to Crawl
& Audit. The option is cleared(unchecked) by default when the Scan Mode
is set to Crawl Only or Audit Only.
Crawl links on File Not If you select this option, Fortify WebInspect will look for and crawl links on
Found responses responses that are marked as “file not found.”
This option is selected by default when the Scan Mode is set to Crawl Only
Option Description
or Crawl & Audit. The option is not available when the Scan Mode is set to
Audit Only.
Navigation
The Navigation options are described in the following table.
Option Description
Auto-fill Web forms If you select this option, Fortify WebInspect submits values for input
during crawl controls found on all forms. The values are extracted from a file you create
using the Web form editor. Use the browse button to specify the file
containing the values you want to use. Alternatively, you can select the
Edit button (to modify the currently selected file) or the Create
button (to create a Web form file).
Prompt for Web form If you select this option, Fortify WebInspect pauses the scan when it
values encounters an HTTP or JavaScript form and displays a window that allows
you to enter values for input controls within the form. However, if you also
select Only prompt for tagged inputs, Fortify WebInspect will not pause
for user input unless a specific input control has been designated Mark as
Interactive Input (using the Web Form Editor). This pausing for input is
termed "interactive mode" and you can cancel it at any time during the scan.
For more information about configuring an interactive scan, see
"Interactive Scans" on page 180.
Use Web Service This option applies only to Web Service scans.
Option Description
Design When performing a Web service scan, Fortify WebInspect crawls the WSDL
site and submits a value for each parameter in each operation. These values
are contained in a file that you create using the Web Service Test Designer
tool. Fortify WebInspect then audits the site by attacking each parameter in
an attempt to detect vulnerabilities such as SQL injection.
Use the browse button to specify the file containing the values you want to
use. Alternatively, you can select the Edit button (to modify the
currently selected file) or the Create button (to create a SOAP values
file).
SSL/TLS Protocols
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols provide secure HTTP
(HTTPS) connections for Internet transactions between Web browsers and Web servers. SSL/TLS
protocols enable server authentication, client authentication, data encryption, and data integrity for
Web applications.
Select the SSL/TLS protocol(s) used by your Web server. The following options are available:
l Use SSL 2.0
l Use SSL 3.0
l Use TLS 1.0
l Use TLS 1.1
l Use TLS 1.2
If you do not configure the SSL/TLS protocol to match your Web server, Fortify WebInspect will still
connect to the site, though there may be a performance impact.
For example, if the setting in Fortify WebInspect is configured to Use SSL 3.0 only, but the Web server is
configured to accept TLS 1.2 connections only, Fortify WebInspect will first try to connect with SSL 3.0,
but will fail. Fortify WebInspect will then implement each protocol until it discovers that TLS 1.2 is
supported. The connection will then succeed, although more time will have been spent in the effort. The
correct setting (Use TLS 1.2) in Fortify WebInspect would have succeeded on the first try.
Scan Details
The Scan Details options are described in the following table.
Option Description
Enable Path Path truncation attacks are requests for known directories without file
Truncation names. This may cause directory listings to be displayed. Fortify
WebInspect truncates paths, looking for directory listings or unusual errors
within each truncation.
Case-sensitive request Select this option if the server at the target site is case-sensitive to URLs.
and response handling
Recalculate correlation This option is used only for comparing scans. The setting should be
data changed only upon the advice of Fortify Customer Support personnel.
Compress response If you select this option, Fortify WebInspect saves disk space by storing
data each HTTP response in a compressed format in the database.
Enable Traffic Monitor During a Basic Scan, Fortify WebInspect displays in the navigation pane
Logging only those sessions that reveal the hierarchical structure of the Web site
plus those sessions in which a vulnerability was discovered. However, if you
select the Traffic Monitor option, Fortify WebInspect adds the Traffic
Monitor button to the Scan Info panel, allowing you to display and review
every single HTTP request sent by Fortify WebInspect and the associated
HTTP response received from the server.
Encrypt Traffic All sessions are normally recorded in the traffic monitor file as clear text. If
Monitor File you are concerned about storing sensitive information such as passwords
on your computer, you can elect to encrypt the file.
Encrypted files cannot be compressed. Selecting this option will
significantly increase the size of exported scans containing log files.
Note: The Traffic Viewer tool does not support the encryption of
traffic files. The Encrypt Traffic Monitor File option is reserved for
Option Description
Maximum crawl-audit When an attack reveals a vulnerability, Fortify WebInspect crawls that
recursion depth session and follows any link that may be revealed. If that crawl and audit
reveals a link to yet another resource, the depth level is incremented and
the discovered resource is crawled and audited. This process can be
repeated until no other links are found. However, to avoid the possibility
of entering an endless loop, you may limit the number of recursions. The
default value is 2. The maximum recursion level is 1,000.
Crawl Details
By default, Fortify WebInspect uses breadth-first crawling, which begins at the root node and explores
all the neighboring nodes (one level down). Then for each of those nearest nodes, it explores their
unexplored neighbor nodes, and so on, until all resources are identified. The following illustration
depicts the order in which linked pages are accessed using a breadth-first crawl. Node 1 has links to
nodes 2, 3, and 4. Node 2 has links to nodes 5 and 6.
You cannot change this crawling method in the user interface. However, the configurable Crawl Details
options are described in the following table.
Option Description
Enable keyword search A keyword search, as its name implies, uses an attack engine that examines
audit server responses and searches for certain text strings that typically indicate
a vulnerability. Normally, this engine is not used during a crawl-only scan,
but you can enable it by selecting this option.
Perform redundant Highly dynamic sites could create an infinite number of resources (pages)
page detection that are virtually identical. If allowed to pursue each resource, Fortify
WebInspect would never be able to finish the scan. This option, however,
Option Description
Limit maximum single Sometimes, the configuration of a site will cause a crawl to loop endlessly
URL hits to through the same URL. Use this field to limit the number of times a
single URL will be crawled. The default value is 5.
Include parameters in If you select Limit maximum single URL hits to (above), a counter is
hit count incremented each time the same URL is encountered. However, if you also
select Include parameters in hit count, then when parameters are
appended to the URL specified in the HTTP request, the crawler will crawl
that resource up to the single URL limit. Any differing set of parameters is
treated as unique and has a separate count.
For example, if this option is selected, then "page.aspx?a=1" and
"page.apsx?b=1" will both be counted as unique resources (meaning that
the crawler has found two pages).
If this option is not selected, then "page1.aspx?a=1" and "page.aspx?b=1"
will be treated as the same resource (meaning that the crawler has found
the same page twice).
Limit maximum This setting defines the maximum number of sub-directories and pages to
directory hit count to be traversed within each directory during the crawl. This setting reduces
the scope of the crawl and might be useful in reducing scan times for some
sites, such as those consisting of a content management system (CMS).
The default setting is 200.
Minimum folder depth If you select Limit maximum directory hit count to (above), this setting
defines the folder depth at which the maximum directory hit count will
begin to apply. The default setting is 1.
Limit maximum link This option restricts the number of hyperlinks that can be sequentially
traversal sequence to accessed as Fortify WebInspect crawls the site. For example, if five
resources are linked as follows
l Page A contains a hyperlink to Page B
l Page B contains a hyperlink to Page C
l Page C contains a hyperlink to Page D
Option Description
Limit maximum crawl This option limits the number of directories that may be included in a single
folder depth to request. The default value is 15.
For example, if the URL is
http://www.mysite.com/Dir1/Dir2/Dir3/Dir4/Dir5/Dir6/Dir7
and this option is set to "4," then the contents of directories 5, 6, and 7 will
not be crawled.
Limit maximum crawl This feature restricts the number of HTTP requests sent by the crawler and
count to should be used only if you experience problems completing a scan of a
large site.
Note: The limit set here does not directly correlate to the Crawled
progress bar that is displayed during a scan. The maximum crawl count
set here applies to links found by the Crawler during a crawl of the
application. The Crawled progress bar includes all sessions (requests
and responses) that are parsed for links during a crawl and audit, not
just the links found by the Crawler during a crawl.
Limit maximum Web Normally, when Fortify WebInspect encounters a form that contains
form submission to controls having multiple options (such as a list box), it extracts the first
option value from the list and submits the form; it then extracts the second
option value and resubmits the form, repeating this process until all option
values in the list have been submitted. This ensures that all possible links
will be followed.
There are occasions, however, when submitting the complete list of values
would be counterproductive. For example, if a list box named "State"
contains one value for each of the 50 states in the United States, there is
probably no need to submit 50 instances of the form.
Use this setting to limit the total number of submissions that Fortify
WebInspect will perform. The default value is 3.
Suppress Repeated Many sites have text that resembles relative paths that become unusable
Path Segments URLs after Fortify WebInspect parses them and appends them to the URL
Option Description
being crawled. These occurrences can result in a runaway scan if paths are
continuously appended, such as /foo/bar/foo/bar/. This setting helps
reduce such occurrences and is enabled by default.
With the setting enabled, the options are:
1 – Detect a single sub-folder repeated anywhere in the URL and reject the
URL if there is a match. For example, /foo/baz/bar/foo/ will match
because “/foo/” is repeated. The repeat does not have to occur adjacently.
2 – Detect two (or more) pairs of adjacent sub-folders and reject the URL if
there is a match. For example, /foo/bar/baz/foo/bar/ will match
because “/foo/bar/” is repeated.
3 – Detect two (or more) sets of three adjacent sub-folders and reject the
URL if there is a match.
4 – Detect two (or more) sets of four adjacent sub-folders and reject the
URL if there is a match.
5 – Detect two (or more) sets of five adjacent sub-folders and reject the
URL if there is a match.
If the setting is disabled, repeating sub-folders are not detected and no
URLs are rejected due to matches.
JavaScript Settings
The JavaScript analyzer allows Fortify WebInspect to crawl links defined by JavaScript, and to create
and audit any documents rendered by JavaScript.
Tip: To increase the speed at which Fortify WebInspect conducts a crawl while analyzing script,
change your browser options so that images/pictures are not displayed.
Option Description
Crawl links found from If you select this option, the crawler will follow dynamic links (i.e., links
script execution generated during JavaScript execution).
Verbose script parser If you select this setting AND if the Application setting for logging level is
debug logging set to Debug, Fortify WebInspect logs every method called on the DOM
object. This can easily create several gigabytes of data for medium and
large sites.
Log JavaScript errors Fortify WebInspect logs JavaScript parsing errors from the script parsing
engine.
Enable JS Framework With this option selected, the Fortify WebInspect JavaScript parser ignores
UI Exclusions common JQuery and Ext JS user interface components, such as a calendar
control or a ribbon bar. These items are then excluded from JavaScript
execution during the scan.
Max script events per Certain scripts endlessly execute the same events. You can limit the number
page of events allowed on a single page to a value between 1 and 9999. The
default value is 1000.
Enable Site-Wide Event When this option is selected, the crawler and JavaScript engine recognize
Reduction common functional areas that appear among different parts of the website,
such as common menus or page footers. This eliminates the need to find
within HTML content the dynamic links and forms that have already been
crawled, resulting in quicker scans. This option is enabled by default and
should not normally be disabled.
Enable SPA support When this option is selected for single-page applications, the DOM script
engine finds JavaScript includes, frame and iframe includes, CSS file
includes, and AJAX calls during the crawl, and then audits all traffic
generated by those events.
Requestor Performance
The Requestor Performance options are described in the following table.
Option Description
Use a shared requestor If you select this option, the crawler and the auditor use a common
requestor when scanning a site, and each thread uses the same state, which
is also shared by both modules. This replicates the technique used by
previous versions of Fortify WebInspect and is suitable for use when
maintaining state is not a significant consideration. You also specify the
maximum number of threads (up to 75).
Use separate If you select this option, the crawler and auditor use separate requestors.
requestors Also, the auditor's requestor associates a state with each thread, rather
than having all threads use the same state. This method results in
significantly faster scans.
When performing crawl and audit, you can specify the maximum number of
threads that can be created for each requestor. The Crawl requestor
thread count can be configured to send up to 25 concurrent HTTP
requests before waiting for an HTTP response to the first request; the
default setting is 5. The Audit requestor thread count can be set to a
maximum of 50; the default setting is 10. Increasing the thread counts may
increase the speed of a scan, but might also exhaust your system resources
as well as those of the server you are scanning.
Option Description
Requestor Settings
The Requestor Settings options are described in the following table.
Option Description
Limit maximum Select this option to limit the size of accepted server responses, and
response size to then specify the maximum size (in kilobytes). The default is 1000 kilobytes.
Note that Flash files (.swf) and JavaScript "include" files are not subject to
this limitation.
Request retry count Specify how many times Fortify WebInspect will resubmit an HTTP request
after receiving a "failed" response (which is defined as any socket error or
request timeout). The value must be greater than zero.
Request timeout Specify how long Fortify WebInspect will wait for an HTTP response from
the server. If this threshold is exceeded, Fortify WebInspect resubmits the
request until reaching the retry count. If it then receives no response,
Fortify WebInspect logs the timeout and issues the first HTTP request in
the next attack series. The default value is 20 seconds.
Note: The first time a timeout occurs, Fortify WebInspect will extend
the timeout period to confirm that the server is unresponsive. If the
server responds within the extended Request timeout period, then the
extended period becomes the new Request timeout for the current
scan.
number of timeouts.
The options are described in the following table.
Option Description
Consecutive "single Enter the number of consecutive timeouts permitted from one specific
host" retry failures to server. The default value is 75.
stop scan
Consecutive "any host" Enter the total number of consecutive timeouts permitted from all hosts.
retry failures to stop The default value is 150.
scan
Nonconsecutive "single Enter the total number of nonconsecutive timeouts permitted from a single
host" retry failures to host. The default value is "unlimited."
stop scan
Nonconsecutive "any Enter the total number of nonconsecutive timeouts permitted from all
host" retry failures to hosts. The default value is 350.
stop scan
If first request fails, Selecting this option will force Fortify WebInspect to terminate the scan if
stop scan the target server does not respond to Fortify WebInspect's first request.
Response codes to Enter the HTTP status codes that, if received, will force Fortify WebInspect
stop scan if received to terminate the scan. Use a comma to separate entries; use a hyphen to
specify an inclusive range of codes.
l Fortify Customer Support personnel can extract the generated (but not sent) HTTP requests for
analysis.
Sessions may be rejected for the reasons cited in the following table.
Invalid Host Any host that is not specified in Default (or Current) Scan Settings/Scan
Settings/Allowed Hosts.
Excluded File Files having an extension that is excluded by settings specified in Default
Extension (or Current) Scan Settings/Scan Settings/Session Exclusions/Excluded or
Rejected File Extensions; also Default (or Current) Scan Settings/Crawl
Settings/Session Exclusions/Excluded or Rejected File Extensions; also
Default (or Current) Scan Settings/Audit Settings/Session
Exclusions/Excluded or Rejected File Extensions.
Excluded URL URLs or hosts that are excluded by settings specified in Default (or
Current) Scan Settings/Scan Settings/Session Exclusions/Excluded or
Rejected URLs and Hosts; also Default (or Current) Scan Settings/Crawl
Settings/Session Exclusions/Excluded or Rejected URLs and Hosts; also
Default (or Current) Scan Settings/Audit Settings/Session
Exclusions/Excluded or Rejected URLs and Hosts.
Outside Root URL If the Restrict to Folder option is selected when starting a scan, any
resource not qualified by the available options (Directory Only, Directory
and Subdirectories, or Directory and Parent Directories).
Maximum Folder HTTP requests were not sent because the value specified by the Limit
Depth Exceeded maximum crawl folder depth to option in Default (or Current) Scan
Settings/Scan Settings/General has been exceeded.
Maximum URL Hits HTTP requests were not sent because the value specified by the Limit
Maximum Single URL hits to option in Default (or Current) Scan
Settings/Scan Settings/General has been exceeded.
404 Response Code In the Default (or Current) Scan Settings/Scan Settings/File Not Found
group, the option Determine File Not Found (FNF) using HTTP
response codes is selected and the response contains a code that matches
the requirements.
Solicited File Not In the Default (or Current) Scan Settings/Scan Settings/File Not Found
Found group, the option Auto detect FNF page is selected and Fortify
WebInspect determined that the response constituted a "file not found"
condition.
Custom File Not Found In the Default (or Current) Scan Settings/Scan Settings/File Not Found
group, the option Determine FNF from custom supplied signature is
selected and the response contains one of the specified phrases.
Rejected Response Files having a MIME type that is excluded by settings specified in Default
(or Current) Scan Settings/Scan Settings/Session Exclusions/Excluded
MIME Types; also Default (or Current) Scan Settings/Crawl
Settings/Session Exclusions/Excluded MIME Types; also Default (or
Current) Scan Settings/Audit Settings/Session Exclusions/Excluded MIME
Types.
Session Storage
Fortify WebInspect normally saves only those attack sessions in which a vulnerability was discovered. To
save all attack sessions, select Save non-vulnerable attack sessions.
Editing Criteria
To edit the default criteria:
1. Select a criterion and click Edit (on the right side of the Other Exclusion/Rejection Criteria list).
The Reject or Exclude a Host or URL window opens.
2. Select either Host or URL.
3. In the Host/URL box, enter a URL or fully qualified host name, or a regular expression designed to
match the targeted URL or host.
4. Select either Reject, Exclude, or both.
5. Click OK.
Adding Criteria
To add exclusion/rejection criteria:
1. Click Add (on the right side of the Other Exclusion/Rejection Criteria list).
The Create Exclusion window opens.
2. Select an item from the Target list.
3. If you selected Query Parameter or Post Parameter as the target, enter the Target Name.
4. From the Match Type list, select the method to be used for matching text in the target:
l Matches Regex - Matches the regular expression you specify in the Match String box.
l Matches Regex Extension - Matches a syntax available from Fortify's regular expression
extensions you specify in the Match String box.
l Matches - Matches the text string you specify in the Match String box.
l Contains - Contains the text string you specify in the Match String box.
5. In the Match String box, enter the string or regular expression for which the target will be
searched. Alternatively, if you selected a regular expression option in the Match Type, you can click
the drop-down arrow and select Create Regex to launch the Regular Expression Editor.
Example 1
To ensure that you ignore and never send requests to any resource at Microsoft.com, enter the
following exclusion and select Reject.
Example 2
Enter "logout" as the match string. If that string is found in any portion of the URL, the URL will be
excluded or rejected (depending on which option you select). Using the "logout" example, Fortify
WebInspect would exclude or reject URLs such as logout.asp or applogout.jsp.
Example 3
The following example rejects or excludes a session containing a query where the query parameter
"username" equals "John."
Example 4
The following example excludes or rejects the following directories:
http://www.test.com/W3SVC55/
http://www.test.com/W3SVC5/
http://www.test.com/W3SVC550/
l wow.myco.com:80
l mycocorp.com:80
l www.interconnection.myco.com:80
Options
The HTTP Parsing options are described in the following table.
Option Description
HTTP Parameters If your application uses URL rewriting or post data techniques to maintain
Used for State state within a Web site, you must identify which parameters are used. For
example, a PHP4 script can create a constant of the session ID named SID,
which is available inside a session. By appending this to the end of a URL,
the session ID becomes available to the next page. The actual URL might
look something like the following:
.../page7.php?PHPSESSID=4725a759778d1be9bdb668a236f01e01
Because session IDs change with each connection, an HTTP
Option Description
request containing this URL would create an error when you tried to replay
it. However, if you identify the parameter (PHPSESSID in this example),
then Fortify WebInspect will replace its assigned value with the new session
ID obtained from the server each time the connection is made.
Similarly, some state management techniques use post data to pass
information. For example, the HTTP message content may include
userid=slbhkelvbkl73dhj. In this case, "userid" is the parameter you would
identify.
Note: You need to identify parameters only when the application uses
URL rewriting or posted data to manage state. It is not necessary when
using cookies.
Enable CSRF The Enable CSRF option should only be selected if the site you are
scanning includes Cross-Site Request Forgery (CSRF) tokens as it adds
overhead to the process. For more information, see "CSRF" on page 360.
Determine State from If your application determines state from certain components in the URL
URL Path path, select this check box and add one or more regular expressions that
identify those components. Two default regular expressions identify two
ASP.NET cookieless session IDs. The third regular expression
matches jsessionid cookie.
Enable Response State If your application maintains client state with bearer tokens, select this
Rules option and create a rule that will identify the bearer token from the
response and add it to the next request automatically.
To add a rule:
1. After selecting the Enable Response State Rules check box, click
Add.
Option Description
HTTP Parameters Some sites contain only one directly accessible resource, and then rely on
Used for Navigation query strings to deliver the requested information, as in the following
Option Description
examples:
Ex. 1 — http://www.anysite.com?Master.asp?Page=1
Ex. 2 — http://www.anysite.com?Master.asp?Page=2;
Ex. 3 — http://www.anysite.com?Master.asp?Page=13;Subpage=4
Ordinarily, Fortify WebInspect would assume that these three requests
refer to identical resources and would conduct a vulnerability scan on only
one of them. Therefore, if your target Web site employs this type of
architecture, you must identify the specific resource parameters that are
used.
Examples 1 and 2 contain one resource parameter: "Page."
Example 3 contains two parameters: "Page" and "Subpage.
To identify resource parameters:
1. Click Add.
2. On the HTTP Parameter window, enter the parameter name and click
OK.
The string you entered appears in the Parameter list.
3. Repeat this procedure for additional parameters.
Advanced HTTP Most Web pages contain information that tells the browser what character
Parsing set to use. This is accomplished by using the Content-Type response
header (or a META tag with an HTTP-EQUIV attribute) in the HEAD
section of the HTML document.
For pages that do not announce their character set, you can specify which
language family (and implied character set) Fortify WebInspect should use.
Treat query parameter This setting defines how Fortify WebInspect interprets query parameters
value as parameter without values. For example:
name when only value
http://somehost?param
is present
If this checkbox is selected, Fortify WebInspect will interpret “param” to be
a parameter named “param” with an empty value.
If this checkbox is not selected, Fortify WebInspect will interpret “param” to
be a nameless parameter with the value “param”.
This setting can influence the way Fortify WebInspect calculates the hit
count (see the "Limit maximum single URL hits to " on page 344 setting
Option Description
under Scan Settings: General). This setting is useful for scenarios in which a
URL contains an anti-caching parameter. These often take the form of a
numeric counter or timestamp. For example, the following parameters are
numeric counters:
l http://somehost?1234567
l http://somehost?1234568
In such cases, the value is changing for each request. If the value is treated
as the parameter name, and the “Include parameters in hit count” setting is
selected, the crawl count may inflate artificially, thus increasing the scan
time. In these cases, clearing the “Treat query parameter value as
parameter name when only value is present” checkbox will prevent these
counters from contributing to the hit count and produce a more
reasonable scan time.
CSRF
The Enable CSRF option should only be selected if the site you are scanning includes Cross-Site
Request Forgery (CSRF) tokens as it adds overhead to the process.
About CSRF
Cross-Site Request Forgery (CSRF) is a malicious exploit of a website where unauthorized commands
are transmitted from a user’s browser that the website trusts. CSRF exploits piggyback on the trust that
a site has in a user’s browser; using the fact that the user has already been authenticated by the site and
the chain of trust is still open.
Example:
A user visits a bank, is authenticated, and a cookie is placed on the user’s machine. After the user
completes the banking transaction, he or she switches to another browser tab and continues a
conversation on an enthusiast Web site devoted to the user’s hobby. On the site, someone has
posted a message that includes an HTML image element. The HTML image element includes a
request to the user’s bank to extract all of the cash from the account and deposit it into another
account. Because the user has a cookie on his or her device that has not expired yet, the transaction
is honored and all of the money in the account is withdrawn.
CSRF exploits often involve sites that rely on trust in a user’s identity, often maintained through the use
of a cookie. The user’s browser is then tricked into sending HTTP requests to the target site in hopes
that a trust between the user’s browser and the target site still exists.
URL Rewriting
Many dynamic sites use URL rewriting because static URLs are easier for users to remember and are
easier for search engines to index the site. For example, an HTTP request such as
http://www.pets.com/ShowProduct/7
is sent to the server's rewrite module, which converts the URL to the following:
http://www.pets.com/ShowProduct.php?product_id=7
In this example, the URL causes the server to execute the PHP script "ShowProduct" and display
the information for product number 7.
When Fortify WebInspect scans a page, it must be able to determine which elements are variables so
that its attack agents can thoroughly check for vulnerabilities. To enable this, you must define rules that
identify these elements. You can do so using a proprietary Fortify WebInspect syntax.
Examples:
HTML: <a href="someDetails/user1/">User 1 details</a>
Rule: /someDetails/{username}/
HTML: <a href="TwoParameters/Details/user1/Value2">User 1 details</a>
Rule: /TwoParameters/Details/{username}/{parameter2}
HTML: <a href="/Value2/PreFixParameter/Details/user1">User 1 details</a>
Rule: /{parameter2}/PreFixParameter/Details/{username}
RESTful Services
A RESTful web service (also called a RESTful web API) is a simple Web service implemented using HTTP
and the principles of REST. It has gained widespread acceptance across the Web as a simpler alternative
to web services based on SOAP and Web Services Description Language (WSDL).
The following request adds a name to a file using an HTTP query string:
GET /adduser?name=Robert HTTP/1.1
This same function could be achieved by using the following method with a Web service. Note that the
parameter names and values have been moved from the request URI and now appear as XML tags in
the request body.
POST /users HTTP/1.1 Host: myserver
Content-Type: application/xml
<?xml version="1.0"?>
<user>
<name>Robert</name>
</user>
In the case of both URL rewriting and RESTful web services, you must create rules that instruct Fortify
WebInspect how to create the appropriate requests.
Creating a Rule
To create a rule:
1. Click New Rule.
2. In the Expression column, enter a rule. See "Path Matrix Parameters" on page 364 for guidelines
and examples.
The Enabled check box is selected by default. Fortify WebInspect examines the rule and, if it is valid,
removes the red X.
Deleting a Rule
To delete a rule:
1. Select a rule from the Custom Parameters Rules list.
2. Click Delete.
Disabling a Rule
To disable a rule without deleting it:
1. Select a rule.
2. Clear the check mark in the Enabled column.
Importing Rules
To import a file containing rules:
1. Click .
2. Using a standard file-selection dialog box, select the type of file (.wadl or .txt) containing the
custom rules you want to apply.
3. Locate the file and click Open.
Enable automatic seeding of rules that were not used during scan
The most reliable rules for custom parameters are those deduced from a WADL file or created by
developers of the Web site. If a rule is not invoked during a scan (because the rule doesn't match any
URL), then Fortify WebInspect can programmatically assume that a valid portion of the site has not
been attacked. Therefore, if you select this option, Fortify WebInspect will create sessions to exercise
these unused rules in an effort to expand the attack surface.
<script>alert('FOO')</script>
This malicious code could be inserted into a vulnerable application, resulting in an alert window with the
message “FOO.” However, the web application can have a filter that prohibits characters such as < (less
than) > (greater than) and / (forward slash), since they are used to perform Web application attacks.
The attacker could attempt to circumvent this safeguard by using a "double encoding" technique to
exploit the client’s session. The encoding process for this JavaScript is:
%253Cscript%253Ealert('XSS')%253C%252Fscript%253E
If you select this option, Fortify WebInspect will create double-encoded URL parameters (instead of
single-encoded parameters) and submit them as part of the attack sequence. This is recommended
when the Web server uses, for example, Apache mod-rewrite plus PHP or Java URL Rewrite Filter 3.2.0.
Element Description
Element Description
match anything).
{ } Group; a named parameter that may appear within the path of the rule. The content has
no special meaning and is used during reporting as the name of the attacked parameter.
The character set allowed within the delimiting brackets that designate a group { } is
defined in RFC 3986 as *pchar:
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
pct-encoded = "%" HEXDIG HEXDIG
unreserved = ALPHA DIGIT - . _ ~
reserved = gen-delims / sub-delims
gen-delims = : / ? # [ ] @"
sub-delims = ! $ & ' ( ) * + , ; =
A group’s content cannot include the "open bracket" and "close bracket" characters, unless
escaped as pct-encoded element.
The rules for placing * out of path are described below. Within a path segment, any amount of * and {}
groups can be placed, provided they’re interleaved with plain text. For example:
Valid rule: /gp/c/*={param}
Invalid rule: /gp/c/*{}
Rules with segments having **, *{}, {}* or {}{} entries are invalid.
For a rule to match a URL, all components of the rule should match corresponding components of the
crawled URL. Path comparison is done segment-wise, with * and {} groups matching any number of
characters (including zero characters), plain text elements matching corresponding plain text elements
of the path segment of the URL. So, for example:
/gp/c/{book_name} is a match for these URLs:
l http://www.amazon.com:8080/gp/c/Moby_Dick
l http://www.amazon.com/gp/c/Singularity_Sky?format=pdf&price=0
l https://www.amazon.com/gp/c/Hobbit
But it is not a match for any of these:
l http://www.amazon.com /gp/c/Moby_Dick/ (no match because of trailing slash)
l http://www.amazon.com/gp/c/Sex_and_the_City/Horror (no match because it has a different
number of segments)
Fortify WebInspect will treat elements of path segments matched by {…} groups in the rule URL as
parameters, similar to those found in a query. Moreover, query parameters of crawled URLs matched by
rule will be attacked along with parameters within the URL’s path. In the following example of a
matched URL, Fortify WebInspect would conduct attacks on the format and price parameters and on
the third segment of the path (Singularity_Sky):
http://www.amazon.com/gp/c/Singularity_Sky?format=pdf&:price=0
Asterisk Placeholder
The “*” placeholder may appear in the following productions and subproductions of the URL:
l Path – cannot be matched as a whole, since * in path matches a single segment or less.
l Path segments – as in /gp/*/{param}, which will match URLs with schema HTTP, hostname
www.amazon.com, path containing three segments (first is exactly “gp”, second is any segment,
and the third segment will be treated as parameter and won’t participate in matching).
l Part of path segment – as in /gp/ref=*, which will match URLs with path containing two
segments (first is exactly “gp”, second containing any string with prefix “ref=”).
l Query – as in /gp/c/{param}?*, which matches any URL with path of three segments (first
segment is “gp”, second segment is “c” and third segment being a parameter, so it won’t participate in
matching); this URL also MUST contain a query string of arbitrary structure. Note the difference
between rules /gp/c/{param} and /gp/c/{param}?*. The first rule will match URL
http://www.amazon.com/gp/c/Three_Little_Blind_Mice, while the second will not.
l Key-value pair of query – as in /gp/c/{param}?format=* which will match URL only if query
string has exactly one key-value pair, with key name being “format.”
l Key-value pair of query – as in /gp/c/{param}?*=pdf which will match URL only if query string
has exactly one key-value pair, with value being “pdf.”
l Fragment – as in case /gp/c/{param}#* which matches any URL with fragment part being present
l */books/{booktitle}/32/{paragraph}
l store/*/Areopagitica/{page}/{paragraph}
Fortify WebInspect will try to collect parameters from both rules to ensure the greatest attack coverage,
so all three segments (“Areopagitica”, “32” and “1” in the example above) will be attacked.
Options
The Filter options are described in the following table.
Option Description
Filter HTTP Request Use this area to specify search-and-replace rules for HTTP requests.
Content
Filter HTTP Response Use this area to specify search-and-replace rules for HTTP responses.
Content
l Post Data – For requests only, search all of the HTTP message body data.
l Body – Search all of the HTTP message body data.
l Prefix – Simultaneously search everything that is in the request or status line, all headers, and
the empty line prior to the body.
4. Type (or paste) the replacement string in the Replace search text with box.
Click for assistance with regular expressions.
5. For case-sensitive searches, select the Case sensitive match check box.
6. Click OK.
Option Description
Include 'referer' in Select this check box to include referer headers in Fortify WebInspect
HTTP request headers HTTP requests. The Referer request-header field allows the client to
specify, for the server's benefit, the address (URI) of the resource from
which the Request-URI was obtained.
Include 'host' in HTTP Select this check box to include host headers with Fortify WebInspect
request headers HTTP requests. The Host request-header field specifies the Internet host
and port number of the resource being requested, as obtained from the
original URI given by the user or referring resource (generally an HTTP
URL).
ABC" that would be included with every request sent to your company's server when Fortify
WebInspect is auditing that site. You can add multiple custom headers.
The default custom headers are described in the following table.
Header Description
Pragma: no-cache This forces a fresh response; cached or proxied data is not acceptable.
Options
The Proxy options are described in the following table.
Option Description
Direct Connection Select this option if you are not using a proxy server.
(proxy disabled)
Auto detect proxy Use the Web Proxy Autodiscovery (WPAD) protocol to locate a proxy
settings autoconfig file and configure the browser's Web proxy settings.
Use System proxy Import your proxy server information from the local machine.
settings
Use Firefox proxy Import your proxy server information from Firefox.
settings
Note: Electing to use Firefox proxy settings does not guarantee that
you will access the Internet through a proxy server. If the Firefox
browser connection settings are configured for "No proxy," then a
proxy will not be used.
Configure proxy using Load proxy settings from a Proxy Automatic Configuration (PAC) file in
a PAC file URL the location you specify in the URL box.
Option Description
Digest
The Windows Server operating system implements the Digest
Authentication protocol as a security support provider (SSP), a
dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the
network in the clear, but is always transmitted as an MD5 digest of the
user's password. In this way, the password cannot be determined by
sniffing network traffic.
HTTP Basic
A widely used, industry-standard method for collecting user name and
password information.
a. The Web browser displays a window for a user to enter a
previously assigned user name and password, also known as
credentials.
b. The Web browser then attempts to establish a connection to a
server using the user's credentials.
c. If a user's credentials are rejected, the browser displays an
authentication window to re-enter the user's credentials.
d. If the Web server verifies that the user name and password
correspond to a valid user account, a connection is established.
The advantage of Basic authentication is that it is part of the HTTP
specification and is supported by most browsers. The disadvantage is
that Web browsers using Basic authentication transmit passwords in
an unencrypted form. By monitoring communications on your
network, an attacker can easily intercept and decode these passwords
using publicly available tools. Therefore, Basic authentication is not
recommended unless you are confident that the connection between
the user and your Web server is secure.
Option Description
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a
trusted third party, termed a Key Distribution Center (KDC), which
consists of two logically separate parts: an Authentication Server (AS)
and a Ticket Granting Server (TGS). The client authenticates itself to
AS, then demonstrates to the TGS that it is authorized to receive a
ticket for a service (and receives it). The client then demonstrates to a
Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to
negotiate for an authentication protocol. When the client requests
access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based
on the protocol that is its first choice.
For example, the server might list Kerberos and NTLM, and send a
Kerberos challenge. The client examines the contents of the reply and
checks to determine whether it supports any of the specified
protocols. If the client supports the preferred protocol, authentication
proceeds. If the client does not support the preferred protocol, but
does support one of the other protocols listed by the server, the client
lets the server know which authentication protocol it supports, and
the authentication proceeds. If the client does not support any of the
listed protocols, the authentication exchange fails.
4. If your proxy server requires authentication, enter the qualifying user
name and password.
Option Description
5. If you do not need to use a proxy server to access certain IP addresses
(such as internal testing sites), enter the addresses or URLs in the
Bypass Proxy For box. Use commas to separate entries.
Specify Alternative For proxy servers accepting HTTPS connections, select Specify
Proxy for HTTPS Alternative Proxy for HTTPS and provide the requested information.
Authentication Method
If authentication is required, select the authentication method as described in the following table:
Authentication
Method Description
HTTP Basic A widely used, industry-standard method for collecting user name and
password information.
1. The Web browser displays a window for a user to enter a previously
assigned user name and password, also known as credentials.
2. The Web browser then attempts to establish a connection to a server
using the user's credentials.
Authentication
Method Description
NT LAN Manager NTLM (NT LanMan) is an authentication process that is used by all
(NTLM) members of the Windows NT family of products. Like its predecessor
LanMan, NTLM uses a challenge/response process to prove the client’s
identity without requiring that either a password or a hashed password be
sent across the network.
Use NTLM authentication for servers running IIS. If NTLM authentication
is enabled, and Fortify WebInspect has to pass through a proxy server to
submit its requests to the Web server, Fortify WebInspect may not be able
to crawl or audit that Web site. Use caution when configuring Fortify
WebInspect for scans of sites protected by NTLM. After scanning, you may
want to disable the NTLM authentication settings to prevent any potential
problem.
Authentication
Method Description
Authentication Credentials
Type a user ID in the User name box and the user's password in the Password box. To guard against
mistyping, repeat the password in the Confirm Password box.
Caution! Fortify WebInspect will crawl all servers granted access by this password (if the
sites/servers are included in the “allowed hosts” setting). To avoid potential damage to your
administrative systems, do not use a user name and password that has administrative rights. If you
are unsure about your access rights, contact your System Administrator or internal security
professional, or contact Fortify Customer Support.
Client Certificates
Client certificate authentication allows users to present client certificates rather than entering a user
name and password. You can select a certificate from the local machine or a certificate assigned to a
current user. You can also select a certificate from a mobile device, such as a common access card (CAC)
reader that is connected to your computer. To use client certificates:
1. In the Client Certificates area, select the Enable check box.
2. Click Select.
The Client Certificates window opens.
3. Do one of the following:
l To use a certificate that is local to the computer and is global to all users on the computer, select
Local Machine.
l To use a certificate that is local to a user account on the computer, select Current User.
Note: Certificates used by a common access card (CAC) reader are user certificates and are
stored under Current User.
Note: The Record button is not available for Guided Scan, because Guided Scan includes a separate
stage for recording a login macro.
Important! If you use a login macro in conjunction with a workflow macro or startup macro or
both, all macros must be of the same type: all .webmacro files, all Burp Proxy captures, or all
Selenium IDE macros. You cannot use different types of macros in the same scan.
3. Locate and select the file, and then click Open.
The Import Selenium Script window appears.
4. (Optional) To view and/or adjust how Selenium behaves during macro replay, click the Settings
plus (+) sign.
The Settings area expands and the current settings become visible. Make changes as necessary.
5. Click Verify.
Fortify WebInspect plays the macro, displaying the verification progress and status in the Import
Selenium Script window.
6. Do one of the following:
l If the macro plays successfully, the message "Successfully verified macro" appears. Continue with
Step 7.
l If the macro does not play successfully, an error message appears. Use the error message to
debug and correct the error in Selenium, and return to Step 1 of this procedure to try the import
again.
7. To specify a logout condition, click Edit logout conditions.
The Logout Conditions Editor appears. Currently, only Regex is supported.
8. Add a logout condition and click OK.
9. Click OK to add the macro to the Default Settings.
Multi-user Login
You can use the Multi-user Login option to parameterize the username and password in a login macro,
and then define multiple username and password pairs to use in a scan. This approach allows the scan
to run across multiple threads. Each thread has a different login session, resulting in faster scan times.
Important! To use Multi-user Login, you must first select Use a login macro for forms
authentication and record a new macro or select an existing macro to use. See "Use a login macro
for forms authentication" on page 377.
To... Then...
Edit a user’s a. Under Multi-user Login, select a Username/Password pair and click
credentials Edit.
The Multi-user Credential Input dialog box appears.
b. Edit the credentials as needed.
c. Click OK.
To... Then...
credentials removed.
b. Click Delete.
Options
The File Not Found options are described in the following table.
Option Description
Determine "file not Select this option to rely on HTTP response codes to detect a file-not-
found" (FNF) using found response from the server. You can then identify the codes that fit
HTTP response codes the following categories:
l Forced Valid Response Codes (Never an FNF): You can specify HTTP
response codes that should never be treated as a file-not-found
response.
l Forced FNF Response Codes (Always an FNF): Specify those HTTP
response codes that will always be treated as a file-not-found response.
Fortify WebInspect will not process the response contents.
Enter a single response code or a range of response codes. For ranges, use
a dash or hyphen to separate the first and last code in the list (for example,
400-404). You can specify multiple codes or ranges by separating each
entry with a comma.
Determine "file not Use this area to add information about any custom 404 page notifications
found" from custom that your company uses. If your company has configured a different page
supplied signature to display when a 404 error occurs, add the information here. False
positives can result in Fortify WebInspect from 404 pages that are unique
to your site.
Auto detect "file not Some Web sites do not return a status "404 Not Found" when a client
found" page requests a resource that does not exist. Instead, they may return a status
"200 OK" but the response contains a message that the file cannot be
Option Description
found, or they might redirect to a home page or login page. Select this
check box if you want Fortify WebInspect to detect these "custom" file-not-
found pages.
Fortify WebInspect attempts to detect custom file-not-found pages by
sending requests for resources that cannot possibly exist on the server. It
then compares each response and measures the amount of text that differs
between the responses. For example, most messages of this type have the
same content (such as "Sorry, the page you requested was not found"),
with the possible exception being the name of the requested resource. If
you select the Auto detect check box, you can specify what percentage of
the response content must be the same. The default is 90 percent.
Creating a Policy
To create a policy:
1. Click Create.
The Policy Manager tool opens.
2. Select New from the File menu (or click the New Policy icon).
3. Select the policy on which you will model a new one.
4. Refer to the Policy Manager on-line Help for additional instructions.
Editing a Policy
To edit a policy:
1. Select a custom policy.
Only custom policies may be edited.
2. Click Edit.
Importing a Policy
To import a policy:
1. Click Import.
2. On the Import Custom Policy window, click the ellipses button .
3. Using the Files of type list on the standard file-selection window, choose a policy type:
l Policy Files (*.policy): Policy files designed and created for versions of Fortify WebInspect
beginning with version 7.0.
l Old Policy Files (*.apc): Policy files designed and created for versions of Fortify WebInspect prior
to version 7.0.
l All Files (*.*): Files of any type, including non-policy files.
4. Click OK.
A copy of the policy is created in the Policies folder (the default location is C:\ProgramData\HP\HP
WebInspect\Policies\). The policy and all of its enabled checks are imported into SecureBase using
the specified policy name. Custom agents are not imported.
Deleting a Policy
To delete a policy:
1. Select a custom policy.
Only custom policies may be deleted.
2. Click Delete.
Pattern-based Parsing
Pattern-based link parsing uses a combination of text searching and pattern matching to find URLs.
These URLs include the ordinary content that is rendered by a browser, such as <A> elements, as well as
invisible text that may reveal additional site structure.
This option matches the default behavior of Fortify WebInspect 10.40 and earlier versions. This is a
more aggressive approach to crawling the website and can increase the amount of time it takes to
conduct a scan. The aggressive behavior can cause the crawler to create many extra links which are not
representative of actual site content. For these situations, DOM-based parsing should expose the site’s
URL content with fewer false positives.
Note: All of the DOM-based Parsing techniques for finding links are used when Pattern-based
Parsing is selected. Pattern-based Parsing, however, is not capable of computing the metadata for
the link source. DOM-based Parsing is capable of computing this information and thus provides
more intelligent parsing. DOM-based Parsing also provides more control over which parsing
techniques are used.
DOM-based Parsing
The Document Object Model (DOM) is a programming concept that provides a logical structure for
defining and building HTML and XML documents, navigating their structure, and editing their elements
and content.
A graphical representation of an HTML page rendered as DOM would resemble an upside-down tree:
starting with the HTML node, then branching out in a tree structure to include the tags, sub-tags, and
content. This structure is called a DOM tree.
Using DOM-based parsing, Fortify WebInspect parses HTML pages into a DOM tree and uses the
detailed parsed structure to identify the sources of hyperlinks with higher fidelity and greater
confidence. DOM-based parsing can reduce false positives and may also reduce the degree of
‘aggressive link discovery.’
On some sites, the crawler iteratively requests bad links and the resulting responses echo those links
back in the response content, sometimes adding extra text that compounds the problem. These
repeated cycles of ‘bad links in and bad links out’ can cause scans to run for a long time or, in rare cases,
forever. DOM-based parsing and careful selection of link sources provide a mechanism for limiting this
runaway scan behavior. Web applications vary in structure and content, and some experimentation may
be required to get optimal link source configurations.
To refine DOM-based Parsing, select the techniques you want to use for finding links. Clearing
techniques that may not be a concern for your site may decrease the amount of time it takes to
complete the scan. For a more thorough scan, however, select all techniques or use Pattern-based
Parsing. The DOM-based Parsing techniques are described in the following table. For more information,
see "Limitations of Link Source Settings" on page 390.
Technique Description
Include Programmers may leave notes to themselves that include links inside HTML comments
Comment that are not visible on the site, but may be discovered by an attacker. Use this option to
Links find links inside HTML comments. Fortify WebInspect will find more links, but these
(Aggressi may not always be valid URLs, causing the crawler to try to access content that does
ve) not exist. Also, the same link can be on every page and those links can be relative, which
can exponentially increase the URL count and lengthen the scan time.
Include A conditional comment link occurs when the HTML on the page is conditionally
Condition included or excluded depending on the user agent (browser type and version) making
al the request.
Comment
Regular comment example:
Links
<!—hidden.txt -->
Conditional comment example:
<!--[if lt IE9]>
<script
src="//www.somesite.com/static/v/all/js/html5sh.js"></script>
<link rel="stylesheet" type"text/css"
href='//www.somesite.com/static/v/fn-hp/css/IE8.css'>
<![endif]-->
Fortify WebInspect emulates browser behaviors in evaluating HTML code and
processes the DOM differently depending on the user agent. A link found in a
comment by one user agent is a normal HTML link for other user agents.
Use this option to find conditional links that are inside HTML commands, such as those
commented out based on browser version. These conditional statements may also
contain script includes that need to be executed when script parsing is enabled.
Crawling these links will be more thorough, but can increase the scan time. Additionally,
such comments may be out of date and pointless to crawl.
Include Plain text in a .txt file or a paragraph inside HTML code can be formatted as a URL,
Plain Text such as http://www.something.com/mypage.html. However, because this is only
Links text and not a true link, the browser would not render it as a link, and the text would
not be functionally part of the page. For example, the content may be part of a page
that describes how to code in HTML using fake syntax that is not meant to be clicked
by users. Use this option for Fortify WebInspect to parse these text links and queue
Include Use this option for Fortify WebInspect to examine inside the opening and closing script
Links in tags for text that looks like links. Valid links may be found inside these script blocks, but
Static developers may also leave comments that include text resembling links inside the
Script opening and closing script tags. For example:
blocks
<script type="text/javascript">
// go to http://www.foo.com/blah.html for help
var url = "http:www.foo.com/xyz/" + path + "?help"
</script>
Additionally, JavaScript code inside these tags can be handled by the JavaScript
execution engine during the scan. However, searching for static links in a line of code
that sets a variable, such as the “var url” in the example above, can create problems
when those partial paths are added to the queue for crawling. If the variable includes a
relative link with a common extension, such as “foo.html”, the crawler will append the
extension to the end of every page that includes the line of code. This can produces
unusable URLs and may create false positives.
Parse Use this option for Fortify WebInspect to parse any text that is inside an href attribute
URLs and add it to the crawl queue. The following is an example of a URL embedded in a
Embedded URL:
in URLs
<a
href="http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz.c
om%2Fblah" />
On some sites, however, file not found pages return the URL in a form action tag and
append the URL to the original URL as follows:
<form
action="http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz
.com%2Fblah?
http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz.com%2Fb
lah" />
Fortify WebInspect will then request the form action, and receive another file not found
response, again with the URL appended in a form action, as shown below:
<form
action="http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz
.com%2Fblah?
http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz.com%2Fb
lah?
http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz.com%2Fb
lah?
http://www.foo.com/xyz/bar.html?url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fwww.zzzz.com%2Fb
lah" />
On such a site, these URLs will continue to produce file not found responses that add
more URLs to the crawl queue, creating an infinite crawl loop. To avoid adding this type
of URL to the crawl queue, do not use this option.
Allow Un- This option modifies the behavior of the previous five options. Some URLs do not
rooted include the specific scheme, such as http, and are not fully qualified domain names.
URLs (for These URLs, which may resemble xyz.html, are considered unanchored or “un-
the above rooted.” The assumption is that the un-rooted URL is relative to the request.
items)
For example, the non-fully qualified URL <a href='foo.html' /> does not include
a scheme. This URL uses the scheme of the context URL. If an HTTPS page requested
to get the content, then HTTPS would be prepended to the URL.
Use this option to treat un-rooted URLs as links when parsing. If this option is selected,
the scan will be more thorough and more aggressive, but may take considerably longer
to complete.
URL Samples and Parsing Results
The following samples describe various URLs and how they are parsed during a crawl.
A Normal URL
The URL in the following request includes a forward (or anchor) slash.
You may include comments, such as <!-- baz_ads.js -->, in your code before a
script include. The following request shows how this comment is interpreted during an
aggressive crawl.
The comment <!-- baz_ads.js --> on the master page results in multiple links:
http://www.foo.com/baz_ads.js
http://www.foo.com/x/baz_ads.js
http://www.foo.com/x/y/baz_ads.js
http://www.foo.com/x/y/z/baz_ads.js
And so on for all pages in the site.
Note: You can also allow un-rooted URLs for each of these options. See “Allow Un-rooted URLs” in
this topic.
Option Description
Crawl Form Action When Fortify WebInspect encounters HTML forms during the crawl, it
Links creates variations on the inputs that a user can make and submits the
forms as requests to solicit more site content. For example, for forms with a
POST method, Fortify WebInspect can use a GET instead and possibly
reveal information. In addition to this type of crawling, use this option for
Fortify WebInspect to treat form targets as normal links.
Crawl Script Include A script include imports JavaScript from a .js file and processes it on the
Links current page. Use this option for Fortify WebInspect to crawl the .js file as a
link.
Crawl Stylesheet A stylesheet link imports the style definitions from a .css file and renders
Links them on the current page. Use this option for Fortify WebInspect to crawl
the .css file as a link.
Miscellaneous Options
The following additional options may help improve link parsing for your site. For more information, see
"Limitations of Link Source Settings" on the next page.
Option Description
Crawl Links on FNF If you select this option, Fortify WebInspect will look for and crawl links on
Pages responses that are marked as “file not found.”
This option is selected by default when the Scan Mode is set to Crawl Only
or Crawl & Audit. The option is not available when the Scan Mode is set to
Audit Only.
Suppress URLs with Many sites have text that resembles relative paths that become unusable
Repeated Path URLs after Fortify WebInspect parses them and appends them to the URL
Segments being crawled. These occurrences can result in a runaway scan if paths are
continuously appended, such as /foo/bar/foo/bar/. This setting helps
reduce such occurrences and is enabled by default.
With the setting enabled, the options are:
1 – Detect a single sub-folder repeated anywhere in the URL and reject the
URL if there is a match. For example, /foo/baz/bar/foo/ will match
because “/foo/” is repeated. The repeat does not have to occur adjacently.
2 – Detect two (or more) pairs of adjacent sub-folders and reject the URL if
there is a match. For example, /foo/bar/baz/foo/bar/ will match
because “/foo/bar/” is repeated.
3 – Detect two (or more) sets of three adjacent sub-folders and reject the
URL if there is a match.
4 – Detect two (or more) sets of four adjacent sub-folders and reject the
URL if there is a match.
5 – Detect two (or more) sets of five adjacent sub-folders and reject the
Example 1
To ensure that you ignore and never send requests to any resource at Microsoft.com, enter the
following exclusion and select Reject.
Example 2
Enter "logout" as the match string. If that string is found in any portion of the URL, the URL will be
excluded or rejected (depending on which option you select). Using the "logout" example, Fortify
WebInspect would exclude or reject URLs such as logout.asp or applogout.jsp.
Example 3
The following example rejects or excludes a session containing a query where the query parameter
"username" equals "John."
Example 4
The following example excludes or rejects the following directories:
http://www.test.com/W3SVC55/
http://www.test.com/W3SVC5/
http://www.test.com/W3SVC550/
Example 1
To ensure that you ignore and never send requests to any resource at Microsoft.com, enter the
following exclusion and select Reject.
Example 2
Enter "logout" as the match string. If that string is found in any portion of the URL, the URL will be
excluded or rejected (depending on which option you select). Using the "logout" example, Fortify
WebInspect would exclude or reject URLs such as logout.asp or applogout.jsp.
Example 3
The following example rejects or excludes a session containing a query where the query parameter
"username" equals "John."
Example 4
The following example excludes or rejects the following directories:
http://www.test.com/W3SVC55/
http://www.test.com/W3SVC5/
http://www.test.com/W3SVC550/
Excluded Parameters
Use this feature to prevent Fortify WebInspect from using certain parameters in the HTTP request to
attack the Web site. This feature is used most often to avoid corrupting query and POSTDATA
parameters.
Excluded Cookies
Use this feature to prevent Fortify WebInspect from using certain cookies in the HTTP request to attack
the Web site. This feature is used to avoid corrupting cookie values.
This setting requires you to enter the name of a cookie.
In the following example HTTP response, the name of the cookie is "FirstCookie."
Set-Cookie: FirstCookie=Chocolate+Chip; path=/
box and then type or select a string from the Replace box.
e. Click Test to search the comparison text for strings that match the regular expression. Matches
will be highlighted in red.
f. Did your regular expression identify the string?
o If yes, click OK.
o If no, verify that the Comparison Text contains the string you want to identify or modify the
regular expression.
Excluded Headers
Use this feature to prevent Fortify WebInspect from using certain headers in the HTTP request to
attack the Web site. This feature is used to avoid corrupting header values.
parameter injection vulnerabilities discovered during a single session into one vulnerability.
l 403 Blocker - This filter revokes vulnerabilities when the status code of the vulnerable session is 403
(Forbidden).
l Response Inspection DOM Event Parent-Child - This filter disregards a keyword search
vulnerability found in JavaScript if the same vulnerability has already been detected in the parent
session.
4. Select one or more entries from the Server/Application Type list.
5. Click OK.
General
The General options are described in the following table.
Option Description
Enable Active Content Select this option to allow execution of JavaScript and other dynamic
in Browser Views content in all browser windows within Fortify WebInspect.
For example, one Fortify WebInspect attack tests for cross-site scripting by
attempting to embed a script in a dynamically generated Web page. That
script instructs the server to display an alert containing the number
"76712." If active content is enabled and if the attack is successful (i.e.,
cross-site scripting is possible), then selecting the vulnerable session and
clicking on Web Browser in the Session Info panel will execute the script
and display the following:
Note: If you initiate or open a scan while this option is disabled, and
you then enable this option, the browser will not execute the active
content until you close and then reopen the scan.
Option Description
Enable Diagnostic File If the Fortify WebInspect application should ever fail, this option
Creation forces Fortify WebInspect to create a file containing data that was stored in
main memory at the time of failure. You can then provide the file to Fortify
support personnel.
If you select this option, you may also specify how many diagnostic files
should be retained. When the number of files exceeds this limit, the oldest
file will be deleted.
Reset "Don't Show Me By default, Fortify WebInspect displays various prompts and dialog boxes
Again" messages to remind you of certain consequences that may occur as a result of an
action you take. These dialog boxes contain a check box labeled "Don't
show me again." If you select that option, Fortify WebInspect discontinues
displaying those messages. You can force Fortify WebInspect to resume
displaying those messages if you click Reset "Don't Show Me Again"
messages.
Use Seven Pernicious This option allows you to select The Seven Pernicious Kingdoms taxonomy
Kingdom (7PK) for ordering and organizing the reported vulnerabilities.
Taxonomy
Seven Pernicious Kingdoms (7PK) is a taxonomy of software security
errors developed by the Fortify Software Security Research Group
together with Dr. Gary McGraw. Each vulnerability category is accompanied
by a detailed description of the issue with references to original sources
and code excerpts, where applicable, to better illustrate the problem.
The organization of the classification scheme is described with the help of
terminology borrowed from biology: vulnerability categories are referred to
as phyla, while collections of vulnerability categories that share the same
theme are referred to as kingdoms. Vulnerability phyla are classified into
pernicious kingdoms presented in the order of importance to software
security.
The seven kingdoms are:
1. Input Validation and Representation
2. API Abuse
3. Security Features
4. Time and State
5. Errors
6. Code Quality
Option Description
7. Encapsulation
* Environment
The first seven kingdoms are associated with security defects in source
code, while the last one describes security issues outside the actual code.
The primary goal of defining this taxonomy is to organize sets of security
rules that can be used to help software developers understand the kinds of
errors that have an impact on security. By better understanding how
systems fail, developers will better analyze the systems they create, more
readily identify and address security problems when they see them, and
generally avoid repeating the same mistakes in the future. For more
information, see https://vulncat.fortify.com/.
You might want to use the Seven Pernicious Kingdoms taxonomy if you
are integrating Fortify WebInspect with other Micro Focus Fortify products
as it provides for a unified taxonomy.
WebInspect Agent
The Fortify WebInspect Agent options are described in the following table.
Option Description
Use WebInspect If this option is selected and Fortify WebInspect detects that Fortify
Agent information WebInspect Agent is installed on a target server, it will incorporate Fortify
when encountered on WebInspect Agent information to improve overall scan efficiency.
target site
A notation on the Fortify WebInspect dashboard indicates whether or not
Fortify WebInspect Agent has been detected.
Automatically group If this option is selected and Fortify WebInspect Agent information is used
by duplicate (above setting), then vulnerabilities listed on the Vulnerability tab in the
vulnerabilities in Summary pane will be grouped by check and then by equivalent
vulnerability window vulnerabilities.
Allow WebInspect If this option is selected and Fortify WebInspect information is used (see
Agent to suggest Use WebInspect Agent Information When Encountered on Target Site
attack strategy above), the agent operates in an active mode and can suggest attack
strategies to Fortify WebInspect to improve accuracy and performance.
This feature requires version 4.1 or above of the Fortify WebInspect Agent
and you must be using the Seven Pernicious Kingdoms taxonomy.
Important! The Web Macro Recorder with Macro Engine 5.0 is provided as a technology preview.
Technology preview features are currently unsupported, may not be functionally complete, and are
not suitable for deployment in production. However, these features are provided as a courtesy and
the primary objective is for the feature to gain wider exposure with the goal of full support in the
future.
When you first launch Fortify WebInspect, the application prompts you with the option to enable the
new Web Macro Recorder with Macro Engine 5.0. If you do not enable the new version at that time, you
can enable it in the Application Settings: General.
To enable the Web Macro Recorder with Macro Engine 5.0:
1. In the Default Web Macro Recorder drop-down list, select Macro Engine 5.0.
2. Click OK.
The new version of the Web Macro Recorder is set as default.
Note: The .tsf file created for Site Explorer does not include vulnerabilities and other details that
are available in the standard scan files.
To have Fortify WebInspect create a traffic file that can be displayed in Site Explorer, select the Create
Scan Data for Site Explorer check box.
When enabled, Fortify WebInspect creates a file in the format <ScanID>.tsf in the scandata folder in
the user's Fortify WebInspect directory, such as:
c:\users\<username>\appdata\local\hp\hp webinspect\scandata
If you select this check box while a scan is running, it will have no effect on the current scan. Only scans
started after this check box is selected will generate a .tsf file for Site Explorer.
License Details
This section provides pertinent information about the Fortify WebInspect license. If you want to change
certain provisions of the license, click Configure Licensing, which will invoke the License Wizard.
The contents of the lower section of the window depend on the type of license management currently
employed:
l Connected directly to the Micro Focus license server. See "Direct Connection to Micro Focus" below.
l Connected to a local AutoPass License Server (APLS). See "Connection to APLS" below.
l Connected to a local License and Infrastructure Manager (LIM). See "Connection to LIM" on the next
page.
Option Description
Update If you upgrade from a trial version or if you otherwise modify the
conditions of your license, click Update. The application will contact the
license server and update the information stored locally on your machine.
Connection to APLS
While using a concurrent (floating) license managed by your APLS, Fortify WebInspect must be
connected to your APLS at all times. If the Status shows "Disconnected," click Reconnect to reestablish a
connection of your APLS.
Connection to LIM
Select the manner in which you want the License and Infrastructure Manager to handle the Fortify
WebInspect license assigned to this computer. Options are described in the following table.
Option Description
Connected License The computer can run the Fortify software only when the computer is able
to contact the LIM. Each time you start the software, the LIM allocates a
seat from the license pool to this installation. When you close the software,
the seat is released from the computer and allocated back to the pool,
allowing another user to consume the license.
Detached License The computer can run the Fortify software anywhere, even when
disconnected from your corporate intranet (on which the LIM is normally
located), but only until the expiration date you specify. This allows you to
take your laptop to a remote site and run the software. When you
reconnect to the corporate intranet, you can access the Application License
settings and reconfigure from Detached to Connected.
Modules
The Server Profiler modules are described in the following table.
Module Description
Check for case- This module determines if the host server is case-sensitive when
sensitive servers discriminating among URLs. For example, some servers (such as IIS) do not
differentiate between www.mycompany.com/samplepage.htm and
www.mycompany.com/SamplePage.htm. If the profiler determines that the
Module Description
Check ‘Maximum The maximum folder depth setting is intended primarily for sites that
Folder Depth’ setting programmatically append subfolders to URLs. Without such a limit, Fortify
WebInspect would endlessly crawl these dynamic folders. This module
determines if the site contains valid URLs that extend beyond that limit
and, if so, allows you to increase the setting.
Verify client This module determines which authentication (sign-in) protocol, if any, is
authentication required. Fortify WebInspect supports HTTP Basic, NTLM, Digest,
protocol Kerberos.
Check for additional This module searches the target site for references to additional host
hosts servers and allows you to include them as allowed hosts.
Reveal navigation This module determines if the target site uses query parameters in URLs to
parameters specify the content of the page and, if so, displays a list of parameters and
values that were encountered during the analysis. You can select one or
more parameters for Fortify WebInspect to use during the scan.
Check for non- This module determines if a site returns a response code other than 404
standard ‘file not when the client requests a non-existent resource. Recognizing this will
found’ responses prevent Fortify WebInspect from auditing non-essential responses.
Check for session state Instead of using cookies, some servers embed session state in URLs. Fortify
embedded in URLs WebInspect detects this practice by analyzing the URL with regular
expressions. This module attempts to determine if changes to the regular
expressions are required.
Analyze thread count This module determines if the thread count should be lowered. Relatively
high thread counts, while enabling a faster scan, can sometimes exhaust
server resources.
Check for invalid audit Fortify WebInspect settings prevent pages with certain file extensions from
exclusions being audited (see "Audit Settings: Session Exclusions" on page 394). The
specified extensions are for pages that ordinarily do not have query
parameters in the URL of the request. If the settings are incorrect, the audit
will not be as thorough. The profiler can detect when pages having audit-
excluded extensions actually contain query parameters and will recommend
Module Description
Verify maximum A Fortify WebInspect scan setting specifies the maximum response size
response size allowed; the default is 1,000 kilobytes. This module attempts to detect
responses larger than the maximum and, if found, recommends that you
increase the limit.
Optimize settings for This module determines if you are scanning a well-known test site (such as
specific applications WebGoat, Hacme Bank, etc.) and determines if Fortify WebInspect has a
prepopulated settings file (a template) designed specifically for that site.
These templates are configured to optimize the crawl, audit, and
performance of your scans.
Add/Remove Trailing This module determines if the target site requires or prohibits a trailing
Slash slash on the start URL.
Check for cross-site Cross-site request forgery, also known as a one-click attack or session
request forgery riding, is often abbreviated as CSRF. CSRF is a type of website exploit
where unauthorized commands are transmitted from a user that the
website trusts. Unlike cross-site scripting , which exploits the trust a user
has for a particular site, CSRF exploits the trust that a site has in a user's
browser. For more on CSRF, see "CSRF" on page 360.
Check for WebSphere WebSphere servers require additional settings changes; enables the
servers Profiler to detect these changes are required.
Option Description
Option Description
Option Description
Minimum Logging Specify how Fortify WebInspect should log different functions and events
Level that occur within the application. The choices are (from most verbose to
least verbose) Debug, Info, Warn, Error, and Fatal.
Threshold for Log If you do not select Never Purge, Fortify WebInspect deletes all logs when
Purging either the total amount of disk space used by all logs exceeds the size you
specify or the number of logs exceeds the number you specify.
Alternatively, you can elect to Never Purge log files.
Rolling Log File Specify the maximum size (in kilobytes) that any log file may attain. When a
Maximum Size file reaches this limit, Fortify WebInspect simply stops writing to it.
Option Description
Auto detect proxy Use the Web Proxy Autodiscovery (WPAD) protocol to locate a proxy
settings autoconfig file and configure the browser's Web proxy settings.
Use System Proxy Import your proxy server information from the local machine.
settings
Note: Electing to use system proxy settings does not guarantee that
you will access the Internet through a proxy server. If the Internet
Explorer setting "Use a proxy server for your LAN" is not selected, then
a proxy will not be used.
Use Firefox proxy Import your proxy server information from Firefox.
settings
Note: Electing to use Firefox proxy settings does not guarantee that
you will access the Internet through a proxy server. If the Firefox
browser connection settings are configured for "No proxy," then a
proxy will not be used.
Configure a proxy Load proxy settings from a Proxy Automatic Configuration (PAC) file in
using a PAC file the location you specify in the URL box.
Explicitly configure Configure a proxy by entering the requested information. See "Configuring
proxy a Proxy" below in this topic.
Configuring a Proxy
To configure a proxy:
1. In the Server box, type the URL or IP address of your proxy server, followed (in the Port box) by
the port number (for example, 8080).
2. From the Type list, select a protocol for handling TCP traffic through a proxy server: SOCKS4,
SOCKS5, or standard.
Important: Smart Update is not available if you use a SOCKS4 or SOCKS5 proxy server
configuration. Smart Update is available only when using a standard proxy server.
3. If authentication is required, select a type from the Authentication list:
Automatic
Allow Fortify WebInspect to determine the correct authentication type.
Note: Automatic detection slows the scanning process. If you know and specify one of the
other authentication methods, scanning performance is noticeably improved.
Digest
The Windows Server operating system implements the Digest Authentication protocol as a security
support provider (SSP), a dynamic-link library (DLL) that is supplied with the operating system.
Using digest authentication, your password is never sent across the network in the clear, but is
always transmitted as an MD5 digest of the user's password. In this way, the password cannot be
determined by sniffing network traffic.
HTTP Basic
A widely used, industry-standard method for collecting user name and password information.
a. The Web browser displays a dialog box for a user to enter a previously assigned user name and
password, also known as credentials.
b. The Web browser then attempts to establish a connection to a server using the user's
credentials.
c. If a user's credentials are rejected, the browser displays an authentication dialog box to re-enter
the user's credentials. Internet Explorer allows the user three connection attempts before
failing the connection and reporting an error to the user.
d. If the Web server verifies that the user name and password correspond to a valid user account,
a connection is established.
The advantage of Basic authentication is that it is part of the HTTP specification and is supported
by most browsers. The disadvantage is that Web browsers using Basic authentication transmit
passwords in an unencrypted form. By monitoring communications on your network, an attacker
can easily intercept and decode these passwords using publicly available tools. Therefore, Basic
authentication is not recommended unless you are confident that the connection between the user
and your Web server is secure.
NT LAN Manager (NTLM)
NTLM (NT LanMan) is an authentication process that is used by all members of the Windows NT
family of products. Like its predecessor LanMan, NTLM uses a challenge/response process to
prove the client’s identity without requiring that either a password or a hashed password be sent
across the network.
Use NTLM authentication for servers running IIS. If NTLM authentication is enabled, and Fortify
WebInspect has to pass through a proxy server to submit its requests to the Web server, Fortify
WebInspect may not be able to crawl or audit that Web site. Use caution when configuring Fortify
WebInspect for scans of sites protected by NTLM. After scanning, you may want to disable the
NTLM authentication settings to prevent any potential problem.
Kerberos
Kerberos uses the Needham-Schroeder protocol as its basis. It uses a trusted third party, termed a
Key Distribution Center (KDC), which consists of two logically separate parts: an Authentication
Server (AS) and a Ticket Granting Server (TGS). The client authenticates itself to AS, then
demonstrates to the TGS that it is authorized to receive a ticket for a service (and receives it). The
client then demonstrates to a Service Server that it has been approved to receive the service.
Negotiate
The Negotiate authentication protocol begins with the option to negotiate for an authentication
protocol. When the client requests access to a service, the server replies with a list of authentication
protocols that it can support and an authentication challenge based on the protocol that is its first
choice.
For example, the server might list Kerberos and NTLM, and send a Kerberos challenge. The client
examines the contents of the reply and checks to determine whether it supports any of the
specified protocols. If the client supports the preferred protocol, authentication proceeds. If the
client does not support the preferred protocol, but does support one of the other protocols listed
by the server, the client lets the server know which authentication protocol it supports, and the
authentication proceeds. If the client does not support any of the listed protocols, the
authentication exchange fails.
4. If your proxy server requires authentication, enter the qualifying user name and password.
Options
The Reports options are described in the following table.
Option Description
Always prompt to A "favorite" is simply a named collection of one or more reports and their
save favorites associated parameters. When using the Report Generator, you can select reports
and parameters, and then select Favorites > Add to favorites to create the
combination. If you select this option, then Fortify WebInspect will prompt you
to save the favorite whenever you modify it by adding or removing a report.
Smart truncate Generated reports can contain very lengthy HTTP request and response
vulnerability text messages. To save space and help focus on the pertinent data related to a
vulnerability, you can exclude message content that precedes and follows the
data that identifies or confirms the vulnerability (identified by red highlighting).
The following example illustrates the report of a cross-site scripting vulnerability
using "smart" truncation and a padding size of 20 characters. The complete
header is always reported. The remaining message text is deleted, except for the
Option Description
About Telemetry
Telemetry provides an automated process for collecting and sending Fortify WebInspect usage
information to Fortify. Fortify software developers use this information to help improve the product.
Use the Application Settings: Telemetry page to configure the type of information you want sent to
Fortify, as well as other Telemetry settings.
Enabling Telemetry
Select the Telemetry check box to allow Fortify WebInspect to collect and send usage information to
Fortify.
Sensor
This configuration information is used for integrating Fortify WebInspect into Fortify WebInspect
Enterprise as a sensor. After providing the information and starting the sensor service, you should
conduct scans using the Fortify WebInspect Enterprise console, not the Fortify WebInspect graphical
user interface.
The following table describes the options.
Option Description
Manager URL Enter the URL or IP address of the Fortify WebInspect Enterprise Manager.
Sensor Authentication Enter a user name (formatted as domain\username) and password, then
click Test to verify the entry.
Enable Proxy If Fortify WebInspect must go through a proxy server to reach the Fortify
WebInspect Enterprise manager, select Enable Proxy and then provide the
IP address and port number of the server. If authentication is required,
enter a valid user name and password.
Override Database Fortify WebInspect normally stores scan data in the device you specify in
Settings the Application Settings for database connectivity. For more information,
see "Application Settings: Database" on page 406. However, if Fortify
WebInspect is connected to Fortify WebInspect Enterprise as a sensor, you
can select this option and then click Configure to specify an alternative
device.
Service Account Select one of the following options to specify the account under which the
Option Description
Sensor Status This area displays the current status of the Sensor Service and provides
buttons allowing you to start or stop the service.
After configuring Fortify WebInspect as a sensor, click Start.
Options
The Smart Update Options are described in the following table.
Option Description
Service Enter the URL for the Smart Update service. The default is:
https://smartupdate.fortify.microfocus.com/
Enable Smart Update Select this option to check for updates automatically when starting Fortify
on Startup WebInspect.
For more information, including instructions for updating WebInspect that is offline, see "SmartUpdate"
on page 269.
The Fortify WebInspect support channel allows Fortify WebInspect to send data to and download
messages from Micro Focus. It is used primarily for sending logs and "false positive" reports and for
receiving "What's New" notices.
Creating a Profile
To create a profile:
1. Click Add, and then enter a profile name in the Add Profile dialog box.
2. Enter or select the URL of an ALM server. If you haven't previously visited an ALM site, the list is
empty. To enter a URL, use the format http://<qc-server>/qcbin/. Do not append "start_a.htm" (or
other file name) to the URL.
3. Enter the user name and password that will allow you to access the server, and then
click Authenticate.
If the authentication credentials are accepted, the server populates the Domain and Project lists.
4. Click Connect, and then select a subject in the Defect Reporting group.
5. From the Defect priority list, select a priority that will be assigned to all Fortify WebInspect
vulnerabilities reported to ALM using this profile.
6. Use the Assign defects to list to select the person to whom the defect will be assigned, and then
select an entry from the Project found in list.
7. Use the remaining lists to map the Fortify WebInspect vulnerability rating to an ALM defect rating.
If you select Do Not Publish, the vulnerability will not be exported. You must select at least one of
the file mappings.
8. To export notes and screenshots associated with a Fortify WebInspect vulnerability, select Upload
vulnerability attachments to defect.
9. In the Required/Optional Fields group, double-click an entry and enter or select the requested
information. If you try to save your work without supplying a required field, Fortify WebInspect
prompts you to enter it.
Best Practices
The Best Practices group contains policies designed to test applications for the most pervasive and
problematic web application security vulnerabilities.
l General Data Protection Regulation (GDPR): The EU General Data Protection Regulation (GDPR)
replaces the Data Protection Directive 95/46/EC and provides a framework for organizations on how
to handle personal data. The GDPR articles that pertain to application security and require businesses
to protect personal data during design and development of their products and services are as follows:
l Article 25, data protection by design and by default, which requires businesses to implement
appropriate technical and organizational measures for ensuring that, by default, only personal
data that is necessary for each specific purpose of the processing is processed.
l Article 32, security of processing, which requires businesses to protect their systems and
applications from accidental or unlawful destruction, loss, alteration, unauthorized disclosure of or
access to personal data.
This policy contains a selection of checks to help identify and protect personal data specifically
related to application security for the GDPR.
l OWASP Top 10 <year>: This policy provides a minimum standard for web application security. The
OWASP Top 10 represents a broad consensus about the most critical web application security flaws.
Adopting the OWASP Top 10 is perhaps the most effective first step towards changing the software
development culture within your organization into one that produces secure code. Multiple releases
of the OWASP Top Ten policy may be available. For more information, consult the OWASP Top Ten
Project.
l SANS Top 25: The SANS Top 25 Most Dangerous Software Errors provides an enumeration of the
most widespread and critical errors, categorized by Common Weakness Enumeration (CWE)
identifiers, that lead to serious vulnerabilities in software. These software errors are often easy to find
and exploit. The inherent danger in these errors is that they can allow an attacker to take over the
software completely, steal data, or prevent the software from working altogether.
l Standard: A standard scan includes an automated crawl of the server and performs checks for
known and unknown vulnerabilities such as SQL Injection and Cross-Site Scripting as well as poor
error handling and weak SSL configuration at the web server, web application server, and web
application layers.
By Type
The By Type group contains policies designed with a specific application layer, type of vulnerability, or
generic function as its focus. For instance, the Application policy contains all checks designed to test an
application, as opposed to the operating system.
l Aggressive SQL Injection: This policy performs a comprehensive security assessment of your web
application for SQL Injection vulnerabilities. SQL Injection is an attack technique that takes
advantage of non-validated input vulnerabilities to pass arbitrary SQL queries and/or commands
through the web application for execution by a backend database. This policy performs a more
accurate and decisive job, but has a longer scan time.
l Apache Struts: This policy detects supported known advisories against the Apache Struts
framework.
l Blank: This policy is a template that you can use to build your own policy. It includes an automated
crawl of the server and no vulnerability checks. Edit this policy to create custom policies that only scan
for specific vulnerabilities.
l Client-side: This policy intends to detect all issues that require an attacker to perform phishing in
order to deliver an attack. These issues are typically manifested on the client, thus enforcing the
phishing requirement. This includes Reflected Cross-site Scripting and various HTML5 checks. This
policy may be used in conjunction with the Server-side policy to provide coverage across both the
client and the server.
l Criticals and Highs: Use the Criticals and Highs policy to quickly scan your web applications for the
most urgent and pressing vulnerabilities while not endangering production servers. This policy
checks for SQL Injection, Cross-Site Scripting, and other critical and high severity vulnerabilities. It
does not contain checks that may write data to databases or create denial-of-service conditions, and
is safe to run against production servers.
l Cross-Site Scripting: This policy performs a security scan of your web application for cross-site
scripting (XSS) vulnerabilities. XSS is an attack technique that forces a website to echo attacker-
supplied executable code, such as HTML code or client-side script, which then loads in a user's
browser. Such an attack can be used to bypass access controls or conduct phishing expeditions.
l DISA STIG <version>: The Defense Information Systems Agency (DISA) Security Technical
Implementation Guide (STIG) provides security guidance for use throughout the application
development lifecycle. This policy contains a selection of checks to help the application meet the
secure coding requirements of the DISA STIG <version>. Multiple versions of the DISA STIG policy
may be available.
l Mobile: A mobile scan detects security flaws based on the communication observed between a
mobile application and the supporting backend services.
l NoSQL and Node.js: This policy includes an automated crawl of the server and performs checks for
known and unknown vulnerabilities targeting databases based on NoSQL, such as MongoDB, and
server side infrastructures based on JavaScript, such as Node.js.
l Passive Scan: The Passive Scan policy scans an application for vulnerabilities detectable without
active exploitation, making it safe to run against production servers. Vulnerabilities detected by this
policy include issues of path disclosure, error messages, and others of a similar nature.
l Privilege Escalation: The Privilege Escalation policy scans your web application for programming
errors or design flaws that allow an attacker to gain elevated access to data and applications. The
policy uses checks that compare responses of identical requests with different privilege levels.
l Server-side: This policy contains checks that target various issues on the server-side of an
application. This includes various injection attacks, transport layer security, and privacy violation, but
does not include attack surface discovery such as directory enumeration or backup file search. All
vulnerabilities detected by this policy may be directly targeted by an attacker. This policy may be used
in conjunction with the Client-side policy to provide coverage across both the client and the server.
l SQL Injection: The SQL Injection policy performs a security scan of your web application for SQL
injection vulnerabilities. SQL injection is an attack technique that takes advantage of non-validated
input vulnerabilities to pass arbitrary SQL queries and/or commands through the web application for
execution by a backend database.
l Transport Layer Security: This policy performs a security assessment of your web application for
insecure SSL/TLS configurations and critical transport layer security vulnerabilities, such as
Heartbleed, Poodle, and SSL Renegotiation attacks.
l WebSocket: This policy detects vulnerabilities related to WebSocket implementation in your
application.
Custom
The Custom group contains all user-created policies and any custom policies modified by a user.
Hazardous
The Hazardous group contains a policy with potentially dangerous checks, such as a denial-of-service
attack, that could cause production servers to fail. Use this policy against non-production servers and
systems only.
l All Checks: An All Checks scan includes an automated crawl of the server and performs all active
checks from SecureBase, the database. This scan includes all checks that are listed in the compliance
reports that are available in Fortify web application and web services vulnerability scan products. This
includes checks for known and unknown vulnerabilities at the web server, web application server, and
web application layers.
Caution! An All Checks scan includes checks that may write data to databases, submit forms, and
create denial-of-service conditions. Fortify strongly recommends using the All Checks policy only
in test environments.
most known vulnerabilities in major packages and some unknown vulnerabilities at the web server,
web application server and web application layers. A safe scan does not run any checks that could
potentially trigger a denial-of-service condition, even on sensitive systems.
l Standard (Deprecated): Standard (Deprecated) policy is copy of the original standard policy before
it was revamped in R1 2015 release. A standard scan includes an automated crawl of the server and
performs checks for known and unknown vulnerabilities at the web server, web application server
and web application layers. A standard scan does not run checks that are likely to create denial-of-
service conditions, so it is safe to run on production systems.
Full Message
Audit Engine initialization error, engine:%engine%, error:%error%"
Description
An unrecoverable error occurred while attempting to initialize an audit engine. Contact Fortify
Customer Support.
Argument Descriptions
Engine: The engine that was attempting to initialize.
Error: The actual error that occurred.
Possible Fixes
Not Applicable
External Links
Not Applicable
Auditor Error
Full Message
Error: Auditor error, session: <session ID> engine:<engine>, error:<error>
Description
An error occurred during an audit.
Argument Descriptions
Session: The session being audited when the error occurred.
Engine: The engine being run when the error occurred.
Full Message
Warn:Auditor skipping Session: 8BE3AFEC5051507168B66AEC59C8915B
Description
A session was skipped due to the Skip button.
Argument Descriptions
Session: Session ID of the session being skipped.
Possible Fixes
Not Applicable
External Links
Not Applicable
Check Error
Full Message
Error: Check error, session:8BE3AFEC5051507168B66AEC59C8915B, Check:10346, engine:
SPI.Scanners.Web.Audit.Engines.RequestModify
Description
An error occurred while processing a check.
Argument Descriptions
Session: Session where the check error occurred.
Check: The check that encountered the problem.
Engine: The engine being run when the error occurred.
Error: The error.
Possible Fixes
Install the latest version of SmartUpdate.
External Links
Not Applicable
Full Message
Completed Post-Scan Analysis Module: %module%
Description
One of the post-scan analysis modules has ended.
Argument Descriptions
module: the name of the post-scan analysis module.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Concurrent Crawl and Audit Start
Description
This message indicates that Concurrent Crawl and Audit has started.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Concurrent Crawl and Audit Stop
Description
This message indicates that Concurrent Crawl and Audit has stopped.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Concurrent Crawl Start:
Description
This message indicates that Concurrent Crawl has started.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Concurrent Crawl Stop
Description
This message indicates that Concurrent Crawl has stopped.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Full Message
Connectivity issue, Reason:FirstRequestFailed, Error:Server:zero.webappsecurity.com:80, Error:
(11001)Unable to connect to remote host : No such host is known:
Description
This message indicates a network connectivity issue. Fortify WebInspect was unable to
communication with the remote host.
Argument Descriptions
Reason: FirstRequestFailed - a requested has failed.
Server: The server to which the request was sent.
Error: (11001)Unable to connect to remote host : No such host is known: - Communication to the
remote host failed due to connectivity issues.
Possible Fixes
l Power cycle your network hardware
If the issue persists, unplug your modem and router, wait a few seconds, then plug them back in.
Sometimes, these devices simply need to be refreshed. This could be due to a network outage or
improperly configured network settings.
l Use Microsoft's network diagnostic tools
Open Network Diagnostics by right-clicking the network icon in the notification area, and then
clicking Diagnose and repair.
l Check wiring
Make sure that all wires are connected properly.
l Check host's power
If you're trying to connect to another computer, make sure that computer is powered on.
l Check connection settings
If the problem began after you installed new software, check your connection settings to see if
they have been changed. Open Network Connections by clicking the Start button , clicking
Control Panel, clicking Network and Internet, clicking Network and Sharing Center, and then
clicking Manage network connections. Right-click the connection, and then click Properties. If
you are prompted for an administrator password or confirmation, type the password or provide
confirmation.
l Troubleshoot all firewalls
External Links
Troubleshoot network connection problems
Internet Connectivity Evaluation Tool
Crawler Error
Full Message
Error: Crawler error, session: <session ID> error:<error>
Description
The crawler failed to process the session. Not user-correctable. Contact Fortify Customer Support.
Argument Descriptions
Session: The session in which the error occurred.
Full Message
Error: SPI.Scanners.Web.Framework.Session in updateExisting,retries failed, giving up calling
iDbConnetivityHandler.OnConnectivityIssueDetected
Description
This message indicates that the database stopped responding.
Argument Descriptions
Error Text: Contains a description of the error that triggered the message
Possible Fixes
Make sure the database server is running and responding.
External Links
Not Applicable
Full Message
Info:Engine Driven Audit Start
Description
This message indicates Engine Driven Audit has started.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Engine Driven Audit Stop
Description
This message indicates Engine Driven Audit has stopped.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Engine Driven Engine Start, Engine: LFI Agent
Description
Engine driven audit skipped for the engine due to the Skip button.
Argument Descriptions
Engine: The Engine that is being skipped.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Engine Driven Engine Start, Engine: LFI Agent
Description
This message indicates the engine indicated has started execution.
Argument Descriptions
Engine: The Engine that is starting.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Engine Driven Engine Stop, Engine: LFI Agent Sessions Processed:406
Description
Engine driven audit completed for the specified engine.
Argument Descriptions
Engine: The Engine that has been stopped.
Sessions processed: Number of sessions processed by the engine.
Possible Fixes
Not Applicable
External Links
Not Applicable
License Issue
Full Message
Error: License issue: License Deactivated
Description
A problem has occurred with the license.
Argument Descriptions
Issue: The issue that occurred.
Possible Fixes
Make sure Fortify WebInspect is properly licensed.
External Links
Not Applicable
Full Message :
<Level>: <ScanID> , <Logger>: <Exception>
Description:
Generic message for exceptions
Argument Descriptions
ScanID: Scan ID.
Logger: Name of logger.
Exception: The exception thrown.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Warn: Memory limit reached: level:1,limit:1073610752, actual:1076625408.
Error: Memory limit reached: level:0,limit:1073610752, actual:1076625408.
Description
The memory limits of the WI process have been reached.
Argument Descriptions
Level: The severity of the problem.
Limit: The memory limit of the process.
Actual: The actual memory allocated to the process.
Possible Fixes
Close other scans that are not running.
Run only one scan at a time in a given Fortify WebInspect instance.
External Links
Not Applicable
Full Message
Info: Missing Session for Vulnerability
Description
Full Message
New Blind SQL check (checkid newcheckid%) is not enabled. A policy with both check %newcheckid%
and check %oldcheckid% enabled is recommended.
Description
The newer check for blind SQL injection is not included in the scan policy.
Argument Descriptions
newcheckid: The identifier of the newer SQL injection check (10962)
oldcheckid: The identifier of the older SQL injection check (5659)
Possible Fixes
Add the newer check (10962) to the scan policy.
External Links
Not Applicable
Full Message
Info:Persistent Cross-Site Scripting Audit Start
Description
Persistent Cross-Site Scripting Audit has started.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Persistent Cross-Site Scripting Audit Stop
Description
Persistent Cross-Site Scripting Audit has stopped.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Post-Scan Analysis started.
Description
Post-scan analysis has begun. Additional messages will be displayed for each module used
(authentication, macro, file not found, etc.).
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Post-Scan Analysis completed.
Description
Post-scan analysis has ended. Additional messages will be displayed for each module used
(authentication, macro, file not found, etc.).
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Reflect Audit Start
Description
Reflection phase started.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Reflect Audit Stop
Description
Reflection phase completed.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Scan Complete
Full Message
Info:Scan Complete, ScanID:<id-number>
Description
This message indicates that the scan has completed successfully.
Argument Descriptions
ScanID: Unique identifier of a scan
Possible Fixes
Not Applicable
External Links
Not Applicable
Scan Failed
Full Message
Info:Scan Failed, ScanID::<id-number>
Description
This message indicates that the scan has failed.
Argument Descriptions
ScanID: Unique identifier of a scan
Possible Fixes
Depends upon the reason the scan failed, which is specified in a different message.
External Links
Not Applicable
Scan Start
Full Message
Info:Scan Start, ScanID:<id-number> Version:X.X.X.X, Location:C:\Program Files\Fortify\Fortify
WebInspect\WebInspect.exe
Description
This message indicates the start of a scan.
Argument Descriptions
ScanID: Unique identifier of a scan.
Full Message
Scan start error: %error%
Description
An unrecoverable error occurred while starting the scan. Contact Fortify Customer Support.
Argument Descriptions
error: description of the problem.
Possible Fixes
Not Applicable
External Links
Not Applicable
Scan Stop
Full Message
Info:Scan Stop, ScanID:<id-number>
Description
This message indicates that the scan has been stopped.
Argument Descriptions
ScanID: Unique identifier of a scan.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Scanner Retry Start
Description
Retry phase started.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Scanner Retry Stop
Description
Retry phase stopped.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Sequential Audit Start
Description
This message indicates that the Sequential Audit has started.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Sequential Audit Stop
Description
This message indicates that the Sequential Audit has stopped.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Sequential Crawl Start
Description
This message indicates that Sequential Crawl has started.
Argument Descriptions
Not applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Sequential Crawl Stop
Description
Settings Override
Full Message
Settings Override, Setting:<setting, Original Value:<original>, New Value:<newValue>,
Reason:<reason>
Description
A setting was changed by the product. This may indicate a setting upgrade issue.
Argument Descriptions
Setting: The setting that is being overridden.
Original Value: The original value of the setting.
New Value: The value to which the setting is being changed.
Reason: The reason for the override.
Possible Fixes
Restore factory defaults and reapply custom settings.
External Links
Not Applicable
Full Message
Info: Skipping Auditor Retry
Description
The retry phase was skipped due to the Skip button.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Skipping Crawl
Full Message
Warn:Skipping Crawl
Description
The crawl was skipped due to the skip button.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Warn: Skipping Persistent Cross-Site Scripting Audit
Description
The Persistent Cross-Site Scripting phase was skipped due to the Skip button.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Warn: Skipping Reflect Audit
Description
Full Message
Warn: Skipping Verify Audit
Description
The verify phase was skipped due to the Skip button.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Start Url Error:%url%, error:%error%
Description
An unrecoverable error occurred processing the start URL. Check url syntax; if correct, contact
Fortify Customer Support.
Argument Descriptions
url: The URL that caused the error.
error: Description of the error.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Start Url Rejected:%url%, reason:%reasons%, session:%session%
Description
The URL was rejected due to request rejection settings; settings should be modified or a different
start URL used.
Argument Descriptions
url: the start URL
reason: Reason for the rejection.
session: The session during which the error occurred.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Starting Post-Scan Analysis Module: %module%
Description
One of the post-scan analysis modules has begun.
Argument Descriptions
module: the name of the post-scan analysis module.
Possible Fixes
Not Applicable
External Links
Not Applicable
Stop Requested
Full Message
Info:Stop Requested, reason=Pause button pushed
Description
Scan is entering suspended state.
Argument Descriptions
Reason: Reason for the stop.
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Verify Audit Start
Description
Verify phase started.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Info:Verify Audit Stop
Description
Verify phase completed.
Argument Descriptions
Not Applicable
Possible Fixes
Not Applicable
External Links
Not Applicable
Full Message
Error: Web Macro Error, Name: Login webmacro Error: RequestAborted
Description
An error occurred during playback of a web macro.
Argument Descriptions
Name: Name of the macro being played when the error occurred.
Error: The error that occurred.
Possible Fixes
Depends on the error encountered. For RequestAborted error, the server did not respond during
macro playback. If this occurs frequently, the value of Request timeout should be increased. See
Connectivity issue for other potential solutions.
External Links
Not Applicable
Full Message
Error: Web Macro Status, Name: login.webmacro Expected:302, Actual:200, Url:<URL>
Description
Fortify WebInspect received a response during macro playback that did not match the response
obtained during the recording of the macro.
Argument Descriptions
Name: Name of the web macro.
Expected: The status code expected to be returned.
Actual: The status code that was actually returned.
URL: The target URL of the request.
Possible Fixes
This could indicate that Fortify WebInspect is attempting to log in when it is already logged in or
that Fortify WebInspect is failing to log in. Check to see if Fortify WebInspect is successfully
logged in during a scan. If not, record the login macro again.
External Links
Not Applicable
Code Definition
100 Continue
202 Accepted Request accepted for processing, but processing not completed.
203 Non-Authoritative The returned metainformation in the entity-header is not the definitive set
Information as available from the origin server, but is gathered from a local or a third-
party copy.
204 No Content The server has fulfilled the request but does not need to return an entity-
body, and might want to return updated metainformation.
205 Reset Content The server has fulfilled the request and the user agent should reset the
document view which caused the request to be sent.
206 Partial Content The server has fulfilled the partial GET request for the resource.
300 Multiple Choices The requested resource corresponds to any one of a set of
representations, each with its own specific location, and agent-driven
negotiation information (section 12) is being provided so that the user (or
user agent) can select a preferred representation and redirect its request to
that location.
301 Moved The requested resource has been assigned a new permanent URI and any
Permanently future references to this resource should use one of the returned URIs.
302 Found The requested resource resides temporarily under a different URI.
303 See Other The response to the request can be found under a different URI and
Code Definition
304 Not Modified If the client has performed a conditional GET request and access is allowed,
but the document has not been modified, the server should respond with
this status code.
305 Use Proxy The requested resource MUST be accessed through the proxy given by the
Location field.
307 Temporary The requested resource resides temporarily under a different URI.
Redirect
400 Bad Request The request could not be understood by the server due to malformed
syntax.
401 Unauthorized The request requires user authentication. The response MUST include a
WWW-Authenticate header field (section 14.47) containing a challenge
applicable to the requested resource.
403 Forbidden The server understood the request, but is refusing to fulfill it.
404 Not Found The server has not found anything matching the Request-URI.
405 Method Not The method specified in the Request-Line is not allowed for the resource
Allowed identified by the Request-URI.
406 Not Acceptable The resource identified by the request is only capable of generating
response entities which have content characteristics not acceptable
according to the accept headers sent in the request.
407 Proxy This code is similar to 401 (Unauthorized), but indicates that the client
Authentication must first authenticate itself with the proxy.
Required
408 Request Timeout The client did not produce a request within the time that the server was
prepared to wait.
409 Conflict The request could not be completed due to a conflict with the current state
of the resource.
Code Definition
410 Gone The requested resource is no longer available at the server and no
forwarding address is known.
411 Length Required The server refuses to accept the request without a defined Content-
Length.
412 Precondition The precondition given in one or more of the request-header fields
Failed evaluated to false when it was tested on the server.
413 Request Entity The server is refusing to process a request because the request entity is
Too Large larger than the server is willing or able to process.
414 Request-URI Too The server is refusing to service the request because the Request-URI is
Long longer than the server is willing to interpret.
415 Unsupported The server is refusing to service the request because the entity of the
Media Type request is in a format not supported by the requested resource for the
requested method.
416 Requested Range A server should return a response with this status code if a request
Not Satisfiable included a Range request-header field (section 14.35), and none of the
range-specifier values in this field overlap the current extent of the selected
resource, and the request did not include an If-Range request-header field.
417 Expectation Failed The expectation given in an Expect request-header field (see section
14.20) could not be met by this server, or, if the server is a proxy, the server
has unambiguous evidence that the request could not be met by the next-
hop server.
500 Internal Server The server encountered an unexpected condition which prevented it from
Error fulfilling the request.
501 Not Implemented The server does not support the functionality required to fulfill the
request. This is the appropriate response when the server does not
recognize the request method and is not capable of supporting it for any
resource.
502 Bad Gateway The server, while acting as a gateway or proxy, received an invalid response
from the upstream server it accessed in attempting to fulfill the request.
503 Service The server is currently unable to handle the request due to a temporary
Unavailable overloading or maintenance of the server.
Code Definition
504 Gateway Timeout The server, while acting as a gateway or proxy, did not receive a timely
response from the upstream server specified by the URI (e.g., HTTP, FTP,
LDAP) or some other auxiliary server (e.g., DNS) it needed to access in
attempting to complete the request.
505 HTTP Version Not The server does not support, or refuses to support, the HTTP protocol
Supported version that was used in the request message.
Troubleshooting WebInspect
The following paragraphs provide troubleshooting information for Fortify WebInspect and WebInspect
Tools.
Connectivity Issues
The following table describes issues with connectivity.
Symptom or Error
Message Possible Cause Possible Solution
When using a macro The user running Fortify Modify the permissions of
recorder or the Guided WebInspect does not have C:\ProgramData\Microsoft\Crypto\RSA\
Scan Wizard while testing required access to the MachineKeys.
a site that uses HTTPS Windows MachineKeys
On the folder properties Security tab,
rather than HTTP, there is folder.
use the Advanced button and configure
no connectivity to the site.
permissions to allow full control for the
user for This folder, subfolders and
files.
Symptom or Error
Message Possible Cause Possible Solution
Scan Initialization fails The SQL Express service is Verify that the service is running. The
when using SQL Express not running. service name is “SQL Server
as the scan database. (SQLEXPRESS)" or similar.
Symptom or Error
Message Possible Cause Possible Solution
may have become 1. Stop all SQL related services and
corrupted. processes.
2. Delete the SQL Express cache folder.
A typical location is as follows or
similar:
C:\Users\<username>
\AppData\Local\Microsoft\Microsof
t SQL Server Data\SQLEXPRESS
3. Restart the machine.
Determine if the validation step is missing. The scan continues, but a warning is written to
the scan log.
Verify that the auto-generated macro logs into The scan stops and an error is written to the scan
the application. log.
Verify that the replay of the macro logs into the The scan stops and an error is written to the scan
application. log.
If a scan stops after failing a test, it may be possible to examine the specific error message in the scan log
to determine and resolve the issue. Use the error message and the troubleshooting tips in this topic to
help resolve the issue.
Troubleshooting Tips
In all cases of macro failure, it is possible that an invalid macro was recorded. However, a previously
good macro that fails is almost always due to site changes or credentials.
The following table provides possible causes and solutions for each error message.
Note: This table does not include all possible causes and solutions for each error message.
Additional troubleshooting may be necessary.
Automatic login generation The login macro could not be Try the Auto-gen Login Macro
failed created because the user option again using credentials
credentials provided are not that are known to be valid.
valid.
Execution Failed An HTML element, such as a Record a new macro in the Web
verification element, username, Macro Recorder to identify the
or password, was not located. login input elements.
Logged in verification step not The login macro does not Edit the macro in the Web Macro
found contain a verification step. Recorder to add a verification
step to indicate a successful
login.
Verification step did not fail The verification step succeeded Edit the macro in the Web Macro
after invalid login after an invalid login attempt. A Recorder to select another
valid verification step should object for the verification step.
only succeed upon successful
login. This indicates that an
incorrect login verification
object was selected.
For specific information about using the Web Macro Recorder, see Micro Focus Fortify WebInspect
Tools Guide.
Suggest Enhancement
We value the opinions of our users and would greatly appreciate any suggestions you may have for
improving the quality and usefulness of our products.
To suggest an enhancement:
1. Click Help > Support > Request an Enhancement.
2. Select Suggestion or Enhancement from the Type list.
3. Do one of the following:
l Select a category that most closely matches your area of interest.
l Select General if no category appears suitable.
4. In the Synopsis box, enter a brief topic summary.
5. In the Description area, tell us how we can improve Fortify WebInspect.
6. Click Submit.
New Purchases
Visit Contact Micro Focus to obtain the telephone number of Micro Focus Fortify sales representatives
who can assist you, or to send an e-mail inquiring about Fortify products.
About WebInspect
Use the About WebInspect window to view the application version number and display information
about the Fortify WebInspect license.
Introduction
The Fortify License and Infrastructure Manager (LIM) allows you to manage concurrent licenses for
Fortify WebInspect in a manner that best suits your organization's development and testing
environment.
For example, your company may have WebInspect installed on 25 machines, but holds a concurrent
license that permits a maximum of 10 instances to be active at any one time. Using the LIM, you can
allocate and deallocate those 10 seats in any way you like, without coordinating or negotiating through
the Micro Focus central licensing facility.
The LIM does not generate activation tokens. Micro Focus generates activation tokens that specify the
number of licenses purchased. You add your activation token to the LIM database, and then use the
LIM to assign and release license seat leases to users.
Getting Started
To get started, perform the following tasks:
1. Configure the License and Infrastructure Manager as described in "Server Configuration" below.
2. Add administrators as described in "Administrative Users" on page 462.
3. Add a product license to the database as described in "Product Licenses" on page 464.
4. Create a license pool, add a license to the pool, and add/delete license pool seats as described in
"License Pools" on page 465.
Server Configuration
You can review and configure the following items for the server on the Server Configuration page:
l Activation (see "Activation" on the next page)
l Proxy (see "Proxy" on the next page)
l Updates (see "Updates" on the next page)
l E-mail (see "E-mail" on page 462)
To access the page, click Admin > Server Configuration.
Activation
When you first install the License and Infrastructure Manager (LIM), enter the activation token
provided to you by Micro Focus. If the token is valid, the LIM displays information about your license.
If this computer does not have Internet access, clear the check box next to Server has internet
connection. The screen will repopulate and display instructions for offline activation.
Proxy
To configure a proxy server:
1. Select the Proxy tab.
2. Do one of the following:
l To configure a proxy server for connecting to the Fortify global licensing service, click Fortify
Global Licensing Server Proxy.
l To configure a proxy server for obtaining application updates for your LIM, click Fortify Smart
Update Server Proxy.
3. Provide the requested information.
4. When complete, click OK.
Updates
The LIM can check for software updates and notify you when and if any updates are available. To
review and configure the update settings:
1. Select the Updates tab.
2. Enter the SmartUpdate URL or IP address of the update server.
The default is https://smartupdate.fortify.microfocus.com/.
3. Specify how often you want to check for updates in the SmartUpdate Frequency (Days) field.
For example: 1=every day , 2=every second day , 3=every third day, etc.
4. Enter the time you want to check for updates in the SmartUpdate Scheduled Time field.
Use the format HH:MM, where HH is the hour and MM is the minute. For midnight, use 00:00.
5. Click OK.
If updates are available, the LIM will send an e-mail to all administrators and will post a notice on the LIM
Updates page. It will not install the update.
To manually check if updates are available, or to schedule the installation of an update, select the LIM
Updates page.
E-mail
You can receive email notices for a variety of events, including SmartUpdate patch notification
availability, status of an applied update (success/failure), and notification that a license pool has been
exhausted. To review and configure the Simple Mail Transfer Protocol (SMTP)server information for
email notification:
1. Enter the SMTP Server address (IP address) and SMTP Port (port number) of your e-mail server.
2. Enter your SMTP Server User ID and SMTP Server Password.
3. For the SMTP Authentication Type, select either None, Basic, or NTLM.
4. If the SMTP server requires a secure link, select SMTP Requires SSL.
5. Enter an Email Address to be used as From. This email address will appear as the originator of
the message in the "From" field.
6. Click OK.
Administrative Users
The License and Infrastructure Manager (LIM) administrators are authorized to add product licenses,
create and maintain license pools, manage license-related activities, and check for updates.
Adding an Administrator
To add an administrator:
1. Click Admin > Administrative Users.
2. Click Add Administrator.
3. Type a User Name.
4. Type a Login Name.
Note: This is the name the user will type at the Log In page.
Removing an Administrator
To remove a user:
1. Click Admin > Administrative Users.
2. Click Delete next to the user name.
3. Click OK to confirm the deletion.
Product Licenses
You can view all Micro Focus product licenses currently associated with the License and Infrastructure
Manager (LIM) on the Product Licenses page. From this page, you can view product license details or
delete the license by clicking the associated button next to the product name. On this page, you can
also:
l Add a product license (see "Adding a License" below)
l Add a license pool (see "Adding a License Pool" below)
l Force a license refresh (see "Forcing a License Refresh" on the next page)
Adding a License
To add a license to the LIM database:
1. On the Product Licenses page, click Add Product License.
2. Enter (type or paste) the Activation Token associated with the product license sent to you by
Micro Focus.
Note: The token is a 36-character string formatted as in the following example:
0xx1111e-a5a6-1234-a123-490abcdef801
Editing a Pool
To edit pool information or to modify the number of seats currently assigned to a pool:
1. Click the Edit button next to the pool name.
2. Make changes as needed.
3. When complete, click OK.
License Pools
The License Pools page lists all license pools currently defined within the License and Infrastructure
Manager (LIM). You can view the license pool details or delete the pool by clicking the associated
button next to the pool name.
Note: Deleting a pool does not delete the licenses or the seats assigned to that pool. Those
licenses/seats simply become unassigned.
Field Description
To assure that you are viewing the most recent information available, click Refresh.
Current Activity
You can view the current activity involving licenses on the Current Activity page. To access the page,
select Activity Management > Current Activity Detail.
Information Displayed
The following table describes the information shown on the Current Activity page about each instance
of a product that is currently in use.
Field Description
Pool The license pool containing the seat allocation for the user
Active Since The date and time when the current instance of the product was started
Connection Mode The current status of the machine, either "Detached" or "Connected" to the
License and Infrastructure Manager (LIM)
Available Actions
Three actions are available on the Current Activity page:
l Releasing a Seat (see "Releasing a Seat" on the next page)
l Revoking a Seat (see "Revoking a Seat" on the next page)
l Releasing All Seats (see "Releasing All Seats" on the next page)
Releasing a Seat
This action applies to connected concurrent licenses. It is used to disconnect a connected LIM client that
has a seat lease refreshed through a regular five-minute heartbeat. Release can be performed
singlehandedly by the LIM administrator. Once released, the seat becomes available to be leased by
another client. The next time it polls the LIM, the client that held the seat receives a notification that it
no longer has a license and the application stops working.
To release a seat and return it to a license pool, click the Release button associated with that seat.
Revoking a Seat
This action applies to detached leases. Revocation also frees up seats, but because clients with detached
seat leases do not poll the LIM, the client cannot be stopped. To revoke a lease, Fortify Customer
Support must be involved. The inclusion of support is a control measure designed to discourage
concurrent license theft.
To revoke a seat:
1. Contact Fortify Customer Support and identify the lease that needs to be revoked.
2. Click the Revoke button associated with that seat.
Note: Steps 1 and 2 may be reversed.
3. Support logs into the license portal processes the revoke request.
4. Click Refresh.
Lease History
A lease is defined as the period of time during which a product licensed through the License and
Infrastructure Manager (LIM) is active.
The following table describes the information shown on the Lease History page for each lease.
Field Description
Acquired Date The date and time when the product was activated
Activation Token The license used to activate this instance of the WebInspect software product
Field Description
Pool The named collection of seats, associated with one or more licenses, to which
this application instance is assigned
Lease Length The amount of time during which the product is or was in use, formatted as
HH:MM:SS, where
l HH = hours
l MM = minutes
l SS = seconds
Release Status The condition under which the product became inactive. Possible values are:
l Released: A product using a connected concurrent license shut down
normally. The seat was returned to the pool; the client is no longer licensed.
l Revoked: A LIM administrator initiated a revoke on the lease, Fortify
Customer Support processed the revoke, and the LIM connected and
received the approved revocation. The seat was made available in the pool.
The client still has a functioning license because it does not connect to the
LIM on a regular basis.
l Expired: A detached lease reached the end of the user-defined lease period
and expired. The seat was returned to the pool. The client is no longer
licensed.
To assure that you are viewing the most recent information available, click Refresh.
LIM Updates
You can check for the availability of software updates and schedule the installation of any updates that
may be available on the License and Infrastructure Manager (LIM) Updates page.
Note: You can configure the LIM to check automatically for available updates. See "Server
Configuration" on page 460 for more information.
Scheduling an Update
To schedule the installation of an update:
1. Click Schedule Updates.
2. Enter the date on which the update should be downloaded and installed.
Use the format dd/mm/yyyy, where dd=day, mm=month, and yyyy=year.
3. Enter the time when the installation should occur.
Use the format hh:mm, where hh is the hour and dd is the minute. Use 00:00 for midnight.
4. Click OK.
Data Migration
The following procedure is recommended for installations that currently use Microsoft SQL Server
Compact Edition, but would like to use Microsoft SQL Server Enterprise Edition.
1. Open the installed version of the License and Infrastructure Manager (LIM) Admin Console.
2. Return all detached licenses to the LIM.
3. For each license pool, save a record of all licenses and seats assigned to the pool.
4. Detach all licenses from the original database. Be sure to keep a record of each license token before
removing it.
5. Deactivate all LIM licenses.
6. Exit the LIM Admin Console.
7. Install the latest version of the LIM and be sure to select Microsoft SQL Server Enterprise Edition
during LIM initialization.
Note: If you have already installed a version of the LIM that accommodates Enterprise Edition,
simply run the LIM initialization program. The application name is License and Infrastructure
Manager Initialize.
Note: Restoration of the LIM may require a call to Fortify Customer Support to deactivate the
existing LIM license.
LIM Troubleshooting
This section addresses some of the problems or malfunctions that may occur when using the License
and Infrastructure Manager (LIM).
If any module is not installed, the installer will report the problem and terminate. To continue, provide
the missing components and restart the installation.
Consult your Windows server documentation for assistance with the following:
l Adding IIS
l Enabling ASP.Net on a Web site
l Installing IIS 6 Management Compatibility (for IIS 7 on server 2008)
l Enabling/restoring the network services account
1. Open Windows Service Manager: Start > All Programs > Administrative Tools > Services.
2. Double-click the Fortify License and Infrastructure Manager Agent Service in the list of
services.
3. Verify that the path to the executable (HP.AppSec.LIM.Agent.exe) is valid: open the referenced
directory and confirm that the file exists.
4. If not valid, consult Windows documentation for instructions on changing the path.
LIM Windows Service does not have permissions to access the site.
This could occur for either of two reasons:
l The site was created and set with authenticated access prior to the LIM installation. The underlying
site has been configured with a restrictive set of users and does not allow the LIM Windows service
account access.
l The Network Service account was not installed or does not have permissions.
To correct this issue:
1. Verify the existence of the network service account and its activity status.
2. One possible solution is to enable permission to the service account to access the LIM virtual
directories or the underlying Web site. Consult your Windows documentation for assistance in
adding users or groups to a site .
3. Another possible solution is to update the Windows service to run with an account allowed by the
site. This can be an account specifically created to access the LIM site virtual directories and no
others. The account will need to be added to the allowed list for the virtual directories.
Note: This often occurs immediately after restoring a LIM during disaster recovery.
Error message indicates that the token is not valid for the product
The activation token is a unique string of characters. Mistyping the string will prevent activation. An
activation token is unique for a specific product.
Re-enter or paste the LIM token from the original Micro Focus email and resubmit. Make sure there are
no trailing spaces.
Use the command line interface to resolve the IP address of the license service URL and verify that the
address is correct.
Contact Fortify Customer Support and verify that the license token exists in the license database and is
intended for the product being activated. Also verify that the token is configured to be a concurrent
license.
and is intended for the product being activated. Also verify that the token is configured to be a
concurrent license.
The following test requires physical or remote access to the Windows server running the LIM. The LIM
uses a web console. A machine that can access the LIM may also be able to access the license service,
even if the LIM cannot.
1. Verify that the computer hosting the LIM is connected to the Internet: open a browser and visit a
site such as https://software.microfocus.com.
2. If the network configuration has changed, bring your computer into compliance.
3. If using a proxy that requires a password, make sure you provide the correct password.
If unsuccessful, contact Fortify Customer Support and verify that the license token exists in the license
database and is intended for the product being activated. Also verify that the token is configured to be
a concurrent license.
Another possible solution is to update the Windows service to run with an account allowed by the site.
This can be an account specifically created to access the LIM site virtual directories and no others. The
account will need to be added to the allowed list for the virtual directories.
On the machine where the LIM is installed:
1. Open Windows Service Manager: Start > All Programs > Administrative Tools > Services.
2. Identify the Fortify License and Infrastructure Manager Agent Service.
3. Check the service status.
4. If the service is not running, try to start the service. If it doesn't start, verify that the path to the
executable (HP.AppSec.LIM.Agent.exe) is valid.
5. Open the referenced directory and confirm that the file exists. If not valid, consult Windows
documentation for instructions on changing the path.
6. If the service is running, open the LIM agent and LIM service logs and look for recent entries
stating that the service cannot be contacted (scheme incorrect, site not available, access denied,
etc). If the site requires SSL, verify that the web-config file specifies the correct protocol (HTTPS
and not HTTP):
a. Verify the {drive}:\installpath\Bin\HP.AppSec.Lim.Agent.exe.config has been
updated to require SSL on the three lines specifying URLs:
o LeaseServiceUrl
o HP.AppSec.Lim.Agent.Properties.Settings - HP_AppSec_Lim_Agent_AgentTaskService
o HP.AppSec.Lim.Agent.Properties.Settings - HP_AppSec_Lim_Agent_AgentTaskService_
AgentTaskService
b. Update the LIM's web.config file to require HTTPS:
i. On the LIM server, go to the directory where LIM is installed.
ii. Open the web.config file.
iii. Update the line add key="Http Protocol" to change “http” to “https” (or reverse).