Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2022.1

...

Because penetration testing can take a long time to run, even for a single API, the Penetration Testing Tool has a built-in timeout that governs how long the tool will run before moving on to the next test. The timeout complies with the timeout configured in the test configuration used to run the test. If the timeout is reached before the penetration testing for the current API is complete, the penetration testing for that API will be interrupted and an error will be reported. To change the timeout

Additionally, you can set global includes and excludes, added as regular expressions, to control what URLs get scanned by the Penetration Testing Tool. Includes are processed before excludes. When no includes are defined, everything is assumed to be included before considering excludes. Includes and excludes get applied regardless of the tool to which the Penetration Testing Tool is chained.

To change the timeout and/or includes and excludes, go to Parasoft > Test Configurations, then select the test configuration and go to Execution > Security.

 Image Added

  • The timeout is measured in minutes.
  • To add a regular expression used to determine included or excluded URLs, click Add beside its table and input the regular expression.
  • To remove a previously added URL regular expression, select it and click Remove.

When your penetration test scenarios run, information about what is being scanned is shown in the Console view. It can be valuable to enable high verbosity in the console, which will provide more detail such as what URLs are being scanned and which are being skipped, allowing you to ensure that your include and exclude patterns are performing as expected. To enable high verbosity, go to Parasoft > Test Configurations, then select the test configuration and go to Execution > Security.

Image Removed 

Preferences > Console and select High.

Reviewing Results

When running via UI, errors are reported to the Quality Tasks view, and details about the error and how to fix it can be seen by double-clicking on each error or right-clicking and choosing View Details.

More detailed results are available by generating an HTML version of the report. The HTML report will organize the errors by CWE or OWASP 2021 Top 10 (as set in Parasoft> Preferences> Reports> API Security; note that it is not necessary to re-execute your tests after changing this setting), Risk, and Confidence.

For more information see Reviewing Results.

...

SOAtest's penetration testing uses active and passive scan rules to do its analysis. Active scan rules make additional (manipulated) requests to the API to attempt to discover security vulnerabilities.  In contrast, passive scan rules make no new requests to the application but instead analyze request/response data captured by the corresponding tool to discover security vulnerabilities. SOAtest leverages OWASP ZAP for penetration testing. 

SOAtest contains two three built-in penetration test profiles: one for REST APIs, and another one for SOAP APIs, and one for non-API requests for web resources. Each profile consists of an active scan policy and a set of passive scan rules. By default, a profile is chosen based on whether the configured test   makes a request to   a REST API or SOAP API, a SOAP API, or some other web resource (for example, HTML).

If you want to use a custom active scan policy, you can do so by exporting a scan policy from OWASP ZAP and configuring SOAtest to use it. The exported scan policy will configure the set of active scan rules that will be used by the Penetration Testing Tool. When using a custom active scan policy, an appropriate set of passive scan rules will be automatically used based on whether the request is made to a REST API or SOAP API.

...

  1. Select Parasoft > Test Configuration to open the Test Configuration Manager.
  2. Click New to create a new Test Configuration, or select an existing one.
  3. Open the Test Configuration’s Execution > Security tab.
  4. Choose Use custom scan policy.
  5. Using the Browse button select your ZAP .policy file.

...

This folder contains the following active policy files:

  • Parasoft SOAP.policy – used by Penetration Testing Tools attached to SOAP Clients.Parasoft REST.policy – used by Penetration Testing Tools attached to tools other than SOAP Clients.policy – Used for requests to SOAP APIs. This primarily includes Penetration Testing Tools attached to SOAP Clients, but can include other tools that make requests to SOAP APIs.
  • Parasoft REST.policy – Used for requests to REST APIs. This primarily includes Penetration Testing Tools attached to REST Clients, but can include other tools that make requests to REST APIs including other client tools and Browser Playback Tools.
  • Parasoft Web.policy – Used for requests to non-API web resources. This is only used for Penetration Testing Tools attached to Browser Playback Tools for non-API requests.

Once you’ve modified either of these policies, it will be used in the next Penetration Testing Tool invocation.

Penetration Testing Rules Supported

REST/SOAP
IDRuleCWE IDOWASPRiskTypeProfile
0Directory Browsing 548A01:2021mediumActiveWeb/REST/SOAP
2Private IP Disclosure 200A01:2021lowPassiveWeb/REST/SOAP
3Session ID in URL Rewrite 200A01:2021mediumPassiveWeb/REST/SOAP
6Path Traversal 22A03:2021highActiveWeb/REST/SOAP
7Remote File Inclusion 98A03:2021highActiveWeb/REST
41Source Code Disclosure - Git 541A05:2021highActiveWeb/REST/SOAP
42Source Code Disclosure - SVN 541A05:2021mediumActiveWeb/REST/SOAP
43Source Code Disclosure - File Inclusion 541A05:2021highActiveWeb/REST/SOAP
10003Vulnerable JS Library 829A06:2021mediumPassiveWeb/REST/SOAP
10009In Page Banner Information Leak 200A05:2021lowPassiveWeb/REST/SOAP
10010Cookie No HttpOnly Flag 1004A05:2021lowPassiveWeb/REST/SOAP
10011Cookie Without Secure Flag 614A05:2021lowPassiveWeb/REST/SOAP
10015Incomplete or No Cache-control Header Set 525UnspecifiedlowPassiveWeb/REST
10017Cross-Domain JavaScript Source File Inclusion 829A08:2021lowPassiveWeb/REST/SOAP
10019Content-Type Header Missing 345A05:2021informationalPassiveWeb/REST/SOAP
10020X-Frame-Options Header 1021UnspecifiedmediumPassiveWeb/REST/SOAP
10021X-Content-Type-Options Header Missing 693693A05:2021lowPassiveWeb/REST
10023Information Disclosure - Debug Error Messages 200A01:2021lowPassiveWeb/REST/SOAP
10024Information Disclosure - Sensitive Information in URL 200A01:2021informationalPassiveWeb/REST/SOAP
10025Information Disclosure - Sensitive Information in HTTP Referrer Header 200A01:2021informationalPassiveWeb/REST/SOAP
10026HTTP Parameter Override 20A04:2021mediumPassiveWeb/REST/SOAP
10027Information Disclosure - Suspicious Comments 200A01:2021informationalPassiveWeb/REST/SOAP
10028Open Redirect 601A03:2021highPassiveWeb/REST/SOAP
10029Cookie Poisoning 20A03:2021informationalPassiveWeb/REST/SOAP
10030User Controllable Charset 20A03:2021informationalPassiveWeb/REST/SOAP
10031User Controllable HTML Element Attribute (Potential XSS) 20A03:2021informationalPassiveWeb/REST/SOAP
10032Viewstate 642Unspecifiedhigh, medium, low, informationalPassiveWeb/REST/SOAP
10033Directory Browsing 548A01:2021mediumPassiveWeb/REST/SOAP
10034Heartbleed OpenSSL Vulnerability (Indicative) 119A09:2021highPassiveWeb/REST/SOAP
10035Strict-Transport-Security Header 319A05:2021low, informationalPassiveWeb/REST/SOAP
10036HTTP Server Response Header 200A05:2021low, informationalPassiveWeb/REST/SOAP
10037Server Leaks Information via 'X-Powered-By' HTTP Response Header Field(s) 200A01:2021lowPassiveWeb/REST/SOAP
10038Content Security Policy (CSP) Header Not Set 693A05:2021medium, informationalPassiveWeb/REST/SOAP
10039X-Backend-Server Header Information Leak 200A05:2021lowPassiveWeb/REST/SOAP
10040Secure Pages Include Mixed Content 311A05:2021medium, lowPassiveWeb/REST/SOAP
10041HTTP to HTTPS Insecure Transition in Form Post 319A02:2021mediumPassiveWeb/REST/SOAP
10042HTTPS to HTTP Insecure Transition in Form Post 319A02:2021mediumPassiveWeb/REST/SOAP
10043User Controllable JavaScript Event (XSS) 20A03:2021infoPassiveWeb/REST/SOAP
10044Big Redirect Detected (Potential Sensitive Information Leak) 201A04:2021lowPassiveWeb/REST/SOAP
10045Source Code Disclosure - /WEB-INF folder 541A05:2021highActiveWeb/REST/SOAP
10047HTTPS Content Available via HTTP 311A05:2021lowActiveWeb/REST/SOAP
10048Remote Code Execution - Shell Shock 78A09:2021highActiveWeb/REST/SOAP
10049Content Cacheability 524UnspecifiedinformationalPassiveWeb/REST
10050Retrieved from Cache UnspecifiedUnspecifiedinformationalPassiveWeb/REST/SOAP
10051Relative Path Confusion20A05:2021mediumActiveWeb
10052X-ChromeLogger-Data (XCOLD) Header Information Leak 200A04:2021mediumPassiveWeb/REST/SOAP
10054Cookie without SameSite Attribute 1275A01:2021lowPassiveWeb/REST/SOAP
10055CSP 693A05:2021medium, low, informationalPassiveWeb/REST/SOAP
10056X-Debug-Token Information Leak 200A01:2021lowPassiveWeb/REST/SOAP
10057Username Hash Found 284A01:2021informationalPassiveWeb/REST/SOAP
10061X-AspNet-Version Response Header 933A05:2021lowPassiveWeb/REST/SOAP
10062PII Disclosure 359359A04:2021highPassiveWeb/REST/SOAP
10063Permissions Policy Header Not Set 16A01:2021lowPassiveWeb/REST/SOAP
10070Use of SAML UnspecifiedUnspecifiedinformationalPassiveWeb/REST/SOAP
10094Base64 Disclosure 200A04:2021high, informationalPassiveWeb/REST/SOAP
10095Backup File Disclosure 530A04:2021mediumActiveWeb/REST/SOAP
10096Timestamp Disclosure 200A01:2021informationalPassiveWeb/REST/SOAP
10097Hash Disclosure 200A04:2021high, lowPassiveWeb/REST/SOAP
10098Cross-Domain Misconfiguration 264A01:2021mediumPassiveWeb/REST/SOAP
10099Source Code Disclosure 540A05:2021mediumPassiveWeb/REST/SOAP
10103Image Location and Privacy Scanner 200UnspecifiedinformationalPassiveWeb/REST/SOAP
10105Weak Authentication Method 287A01:2021high, mediumPassiveWeb/REST/SOAP
10106HTTP Only Site 311A05:2021mediumActiveWeb/REST/SOAP
10107Httpoxy - Proxy Header Misuse 20A06:2021highActiveWeb/REST/SOAP
10108Reverse Tabnabbing UnspecifiedA04:2021mediumPassiveWeb/REST/SOAP
10109Modern Web Application UnspecifiedUnspecifiedinformationalPassiveWeb/REST/SOAP
10110Dangerous JS Functions 749A04:2021lowPassiveWeb/REST/SOAP
10202Absence of Anti-CSRF Tokens 352A01:2021low, informationalPassiveWeb/REST/SOAP
20012Anti-CSRF Tokens Check352A05:2021highActiveWeb
20015Heartbleed OpenSSL Vulnerability 119A06:2021highActiveWeb/REST/SOAP
20016Cross-Domain Misconfiguration 264A01:2021highActiveWeb/REST/SOAP
20017Source Code Disclosure - CVE-2012-1823 20A06:2021highActiveWeb/REST/SOAP
20018Remote Code Execution - CVE-2012-1823 20A06:2021highActiveWeb/REST/SOAP
20019External Redirect 601A03:2021highActiveWeb/REST
30001Buffer Overflow 120A03:2021mediumActiveWeb/REST/SOAP
30002Format String Error 134A03:2021mediumActiveWeb/REST/SOAP
30003Integer Overflow Error 190A03:2021mediumActiveWeb/REST
40003CRLF Injection 113A03:2021mediumActiveWeb/REST
40008Parameter Tampering 472A04:2021mediumActiveWeb/REST/SOAP
40009Server Side Include 97A03:2021highActiveWeb/REST
40012Cross Site Scripting (Reflected) 79A03:2021highActiveWeb/REST
40013Session Fixation 384A01:2021highActiveWeb/REST/SOAP
40014Cross Site Scripting (Persistent) 79A03:2021highActiveWeb/REST
40015LDAP Injection 90A03:2021highActiveWeb/REST/SOAP
40016Cross Site Scripting (Persistent) - Prime 79UnspecifiedinformationalActiveWeb/REST
40017Cross Site Scripting (Persistent) - Spider 79UnspecifiedinformationalActiveWeb/REST
40018SQL Injection 8989A03:2021highActiveWeb/REST/SOAP
40025Proxy Disclosure 200A05:2021mediumActiveWeb/REST/SOAP
40028ELMAH Information Leak 215A05:2021mediumActiveWeb/REST/SOAP
40029Trace.axd Information Leak 215A05:2021mediumActiveWeb/REST/SOAP
40032.htaccess Information Leak 215A05:2021mediumActiveWeb/REST/SOAP
40034.env Information Leak 215A05:2021mediumActiveWeb/REST/SOAP
40035Hidden File Finder 538A05:2021mediumActiveWeb/REST/SOAP
40038Bypassing 403 UnspecifiedA01:2021mediumActiveWeb/REST/SOAP
40039Web Cache Deception UnspecifiedA05:2021mediumActiveWeb/REST/SOAP
40040CORS Header 942A01:2021high, medium, informationalActiveWeb/REST
90001Insecure JSF ViewState 642A04:2021mediumPassiveWeb/REST/SOAP
90002Java Serialization Object 502A04:2021mediumPassiveWeb/REST/SOAP
90003Sub Resource Integrity Attribute Missing 345A05:2021mediumPassiveWeb/REST/SOAP
90004Insufficient Site Isolation Against Spectre Vulnerability 693A04:2021lowPassiveWeb/REST/SOAP
90011Charset Mismatch 436UnspecifiedinformationalPassiveWeb/REST/SOAP
90017XSLT Injection 91A03:2021mediumActiveWeb/REST/SOAP
90019Server Side Code Injection 94A03:2021highActiveWeb/REST/SOAP
90020Remote OS Command Injection 78A03:2021highActiveWeb/REST/SOAP
90021XPath Injection 643A03:2021highActiveWeb/REST/SOAP
90022Application Error Disclosure 200A05:2021mediumPassiveWeb/REST/SOAP
90023XML External Entity Attack 611A03:2021highActiveWeb/REST/SOAP
90024Generic Padding Oracle 209Oracle 209A02:2021highActiveWeb/REST/SOAP
90025Expression Language Injection917A03:2021highActiveWeb
90028Insecure HTTP Method 200A05:2021mediumActiveWeb/REST/SOAP
90030WSDL File Detection UnspecifiedA05:2021informationalPassiveWeb/REST/SOAP
90033Loosely Scoped Cookie 565A08:2021informationalPassiveWeb/REST/SOAP
90034Cloud Metadata Potentially Exposed UnspecifiedA05:2021highActiveWeb/REST/SOAP
110001Application Error Disclosure via WebSockets 209UnspecifiedmediumPassiveWeb/REST/SOAP
110002Base64 Disclosure in WebSocket message UnspecifiedUnspecifiedinformationalPassiveWeb/REST/SOAP
110003Information Disclosure - Debug Error Messages via WebSocket 200UnspecifiedlowPassiveWeb/REST/SOAP
110004Email address found in WebSocket message 200UnspecifiedinformationalPassiveWeb/REST/SOAP
110005Personally Identifiable Information via WebSocket 359UnspecifiedhighPassiveWeb/REST/SOAP
110006Private IP Disclosure via WebSocket UnspecifiedUnspecifiedlowPassiveWeb/REST/SOAP
110007Username Hash Found in WebSocket message 284UnspecifiedinformationalPassiveWeb/REST/SOAP
110008Information Disclosure - Suspicious Comments in XML via WebSocket 200UnspecifiedinformationalPassiveWeb/REST/SOAP
111001HTTP Verb Tampering (Parasoft proprietary rule)287A07:2021mediumActiveWeb/REST

Integration with Burp Suite

...