The Advanced Detection Engine - Path Traversal node applies heuristics to requests in order to detect attacks or intrusion attempts based on Path Traversal (or Directory Traversal, see https://www.owasp.org/index.php/Path_Traversal).
This node requires a normalization context in order to work which must be provided by a Normalization node placed higher in the Workflow.
Display name: name of the node displayed in the Workflow. Replace the default name "Adv. Detection Engine - Path Traversal".
Normalization attribute: Normalization profile containing the decoding rules applied to the request. For more details, see Normalization Configurations.
Path: defines if the engine must check the path of the request (from attribute http.request.path).
Headers: defines if the engine must check the headers of the request (from attribute http.request.headers).
Cookies: defines if the engine must check the cookies of the request (from attribute http.request.cookies).
GET Vars: defines if the engine must check the query vars of the request (from attribute http.request.query.vars).
POST Vars: defines if the engine must check the body vars of the request (from attribute http.request.body.vars).
http.request.security.events: internal attribute of the Workflow containing information about detected security events. When an attack is detected by the engine, an event is created and added to this attribute. It allows to manage exceptions with the Security Exception Management node and log events through the Log Security Alert node.
patht.request.blocked: boolean set to true if at least one attack have been found in the request.
Basic filtering Workflow
The first node "Normalization Engine" is used to normalized the request. The node provides a normalized context of the incoming request that will be used by the "Adv. Detection Engine - Path Traversal" node.
The "Adv. Detection Engine - Path Traversal" check the request and returns the result in the provided attributes of the node. -If an attack is detected, an event is created and added in the http.request.security.events table attribute. The patht.request.blockedattribute is set to "true".
A condition on the patht.request.blocked attribute decides if the request must be blocked or not: -If equals to "true" (an attack is detected), the "Log Security Alert" node will send events from the http.request.security.events table in the database. Then the request will be blocked by a HTTP code 403. -If equals to "false" (no attack detected), the request will be sent to the backend server.