FortiWeb Recursive URL Decoding is not enabled by default
FortiWeb's "Recursive URL Decoding" feature can detect URL-based attacks (among which XSS and SQL injection attempts) even when the malicious URL is recursively encoded. However, this feature is not enabled by default in FortiWeb's system settings for FortiWeb version 6.0.0 and below.
WAF bypass (URL based attack)
FortiWeb 6.0.0 and below
Upgrade to FortiWeb 6.0.1 or newer versions or use workaround.
For FortiWeb 6.0.0 and below, manually enabling this feature is recommended.
From the FortiWeb GUI, it can be enabled under system > Config > Advanced in the "Recursive URL Decoding" (refer to: http://help.fortinet.com/fweb/571/Content/FortiWeb/fortiweb-admin/advanced_settings.htm for more info).
From the FortiWeb CLI, it can be enabled with the following commands:
config system advanced
set circulate-url-decode enable
05-16-2018 Initial version.
08-23-2018 Default secure setting supported in 6.0.1
Fortinet is pleased to thank independent security researcher SecuNinja (http://twitter.com/secuninja) for reporting this FortiWeb operational risk under responsible disclosure.