Hello there,

I noticed that the version 3 of CRS ruleset sometimes transforms the rule 
phase: from phase:1 (v2.2.9) to phase:request. But phase:request just 
translates to phase:2 (request body) and, if I understand the phase processing 
correctly, requests that do not contain a body will not be checked against 
phase:2 rules. (Well, this is what I observe in my debugging logs. Don't know 
if it is the ModSecurity standard behavior or if it comes from my 
implementation.)

A typical example is the rule id 960911 (REQUEST-20-PROTOCOL-ENFORCEMENT) which 
validates the HTTP request line: it seems to me that it should be validated for 
requests including those without body, but the phase is now phase:request on 
CRS v3.

Besides, there are a lot of other examples in REQUEST-21-PROTOCOL-ATTACK where 
it seems to me that the rules should be put on phase:1. (E.g. smuggling, 
response splitting.)
The same applies to REQUEST-10-IP-REPUTATION.

Do I miss something ? Is this a conscious choice ?
Thanks for enlightening me.

Regards,
Aymeric Chaib

#
" This e-mail and any attached documents may contain confidential or 
proprietary information. If you are not the intended recipient, you are 
notified that any dissemination, copying of this e-mail and any attachments 
thereto or use of their contents by any means whatsoever is strictly 
prohibited. If you have received this e-mail in error, please advise the sender 
immediately and delete this e-mail and all attached documents from your 
computer system."
#
_______________________________________________
Owasp-modsecurity-core-rule-set mailing list
Owasp-modsecurity-core-rule-set@lists.owasp.org
https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

Reply via email to