Configure Form Authentication

You can use the form authentication if the login-protected resources within the application you want to scan use
the application/x-www-form-urlencoded content type of the HTTP requests.

The form authentication type is set by default when you create an authentication object in the NeuraLegion App.

Prerequisites

  • You are an active user in the NeuraLegion App.
  • Your application and authenticated resources are accessible to the NeuraLegion engine, either directly from the Internet or via a Repeater.

Step-by-Step Guide

  1. Go to the NeuraLegion App.
  2. In the left pane, select Authentications.
  1. On the My Authentications page, click + Create Authentication.
  1. In the CREATE & TEST AUTHENTICATION dialog box, complete the fields of the following configuration sections.

Authentication Details

In this section, specify the details of the authentication object you want to create.

Field Guidelines
Authentication name Enter the authentication object name.
Description (Optional) Enter the authentication object description. For example, you can specify the application type or other information that helps you distinguish your created object.

Authentication Setup

In this section, set up a valid authentication request to be sent to the end-point API. For that, complete the Authentication Setup fields.

Field Guidelines
URL Enter the relevant URL for the HTTP request. The POST method is set by default for the form authentication.

Pro Tips:
  • This is not the URL where the login form resides, but the URL where the form request is sent to. The form host URL can be the same as the request URL, but can be different as well. You can get the Request URL in the Headers section of the relevant login request.
  • Form login type will encode any URL-encoded values as required by the protocol, this means that values (user, pass) should be entered without encoding to avoid double encoding issues.
Parameter name Enter the form parameters from the request body. For example, username and password.
Parameter value Enter the values of the form parameters (credentials) from the request bodies.
Maximum number of redirects to follow Enter the maximum number of redirects that the Nexploit should follow during the authentication process.

Pro Tips: Select the checkbox Change redirected method to get for the redirects with code 302, where the server expects the following methods to always be GET during redirects and not the original method that triggered the redirect.
Additional headers (Optional) Select an additional header you need to use for each request and enter its value. For example, additional cookies that might be needed for the authentication such as host-related metadata.
To replace or append the selected header to each request, select the relative button below.

Pro Tips:
  • Make sure that the values you use for the additional headers are static and must not be changed between scans.
  • If your application uses cookies that are set via the Set-Cookie header in the response, then you do not need to extract and reuse the cookies. Any Set-Cookie header will be automatically used during authentication.
  • There are cases when MFA is required ONLY on initial IP login. This means that our scan IP can be validated once and will not require any further MFA validations. For that case, you need to identify which cookie supports the completed MFA/2FA and include a valid cookie as a part of your authentication object, typically using the Additional Headers field.
  • For some parameters, you can add more fields by clicking at the upper-right of the relevant setup section.
  • To delete a parameter, click next to the relevant Value field.

Valid Authentication Response

In this section, select the options you want to use during the application scanning to determine that the authenticated resource has been reached. The options define how the application responds in case a full authentication flow passes successfully.

Field Guidelines
Detect using response status Enter the HTTP response that will tell you about the authentication success.
Detect using header pattern Enter the header and Regex pattern that will tell about the authentication success.
Detect using body pattern Enter the body pattern that will tell you about the authentication success.

Authentication Triggers

In this section, select the options you want to use during the application scanning to determine if the authentication flow is no longer valid and the authenticated resources cannot be reached. The options define how the application responds in case the authentication flow fails.

Field Guidelines
Detect using response status Enter the HTTP response that will tell you about the authentication failure.
Detect using header pattern Enter the header and Regex pattern that will tell about the authentication failure.
Detect using body pattern Enter the body pattern that will tell you about the authentication failure.

Valid Session Tester

The preliminary testing helps you verify if the authentication object has been configured correctly.

Field Guidelines
Protocol From the drop-down list, select the HTTPS or WebSockets protocol to be used for authentication.
Method Select the HTTP method of an active tester end-point (authenticated resource).
Validation URL Enter the URL of the authenticated (protected) resource to test if the authentication scenario is configured correctly. The validation URL should be different from the authentication URL.
Header name Select an additional header to be appended to the request sent to the tester end-point.
Header value Enter the template of the expected value (interpolation string) created using the String Interpolation Syntax.
Body Enter the HTTP request body to be appended to the request sent to the tester end-point, for example:{“user”: “foo”, “pass”: “bar”}’. You can interpolate the body using the String Interpolation Syntax.
Maximum number of redirects to follow Enter the maximum number of redirections that Nexploit should follow during the authentication process.

Pro Tips: Select the checkbox Change redirected method to get for the redirects with code 302, where the server expects the following methods to always be GET during redirects and not the original method that triggered the redirect.
Repeater If you use a local Repeater to reach the scan target, select it from the drop-down list to connect it to the scan.

Once you have completed the Valid Session Tester fields, click Test Authentication.

  • A valid authentication object returns three success messages indicated in the relevant Test Results sections:
    • Test Authentication Triggers
    • Authentication call
    • Access Protected Resource

In this case, you can save the configured object and add it to your scans.

  • If the test results include a failure message, go back to the object configurations and verify their correctness. Use the test request/response data to find a certain failure and fix it.

Did this page help you?