Forum Discussion
dburnett_103851
Nimbostratus
Dec 10, 20089.4.5 upgrade and HTTP Protocol Compliance
We currently have F5 Big IPs within a 'live' website environment and a 'pre-live' environment.
We have recently upgraded our pre-live environment from 9.4.3 to 9.4.5.
All of a sudden the ASM policy is blocking pre-live test traffic with a HTTP Protocol Compliance violation - Content Length should be a Positive Number.
Any ideas as to why this should suddenly occur? I'm not convinced that our test traffic is non HTTP protocol compliant.
What are the implications if we were to turn off this checking?
We need to resolve this before we can upgrade the live environment F5s as we don't want to unnecessarily block ouir website customers!
Hope someone can shed some light on this.
- hoolio
Cirrostratus
A client can legitimately send a POST request with a Content-Length header value of 0. This is not against any HTTP RFC. ASM can block this as an added validation "feature". Internet Explorer seems to do this while Firefox does not. From a quick search it looks like IE might send POST requests with a Content-Length of 0 for NTLM authentication and some corner cases. - dburnett_103851
Nimbostratus
Great informative response - thanks! - hoolio
Cirrostratus
I wouldn't want to say definitively yes or no, but I expect ASM should prevent these types of attacks using charset restrictions. If the attack depends on carriage return line feed characters in the URI or headers, these should be blocked by default character sets. The attack signatures might provide additional protection, but the charsets are what I'd count on for this scenario. - dburnett_103851
Nimbostratus
I've checked out our character set settings. - hoolio
Cirrostratus
I think the main concern for HTTP response splitting is if the application uses any user-supplied content in response headers. It would be ideal if you could disable the CR and LF characters for all four global character sets and only allow it where required for specific parameters. If that's not an option, you could leave CR and LF enabled for the global parameter. But then you're potentially opening yourself up to an attack if the application is vulnerable. - dburnett_103851
Nimbostratus
Cheers for that.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects