CRLF Injection attack or the HTTP response splitting is a probably simple, yet a very strong web attack. The hackers are exploiting actively this kind of web application vulnerability in performing a wide variety of attacks, which involve the cross-user defacement, XSS cross-site scripting, and web pages hijacking together with other similar attacks.
CRLF pertains to the "Carriage Return" and "Line Feed," which are considered as special character elements. These elements are implanted in the headers of HTTP and other codes for software to demonstrate EOL or End of Line marker. Several protocols in the internet, involving the MIME or e-mail, newsgroups or NNTP, and the most important- HTTP, which utilizes the sequences of CRLF in splitting text streams for discrete elements. Developers of web application split the HTTP together with other headers depending on where the CRLF is positioned. Exploits happen when an invader is capable of injecting a CRLF arrangement into the HTTP stream. Through the introduction of this unpredicted CRLF injection, the invader is capable of exploiting maliciously the CRLF vulnerabilities for the manipulation of the functions of web application.
A more proper name for the CRLF injection is the “Improper Neutralization of CRLF Sequences”. Because the CRLF injection is regularly utilized in splitting the HTTP responses, this can also be labelled as “HTTP Response splitting” or “Improper Neutralization of CRLF Sequences” in the HTTP Headers.
Major Models of CRLF Injection
CRLF injection pertains to the software coding application vulnerability that takes places when an invader injects sequence of CRLF character that is not predictable. If CRLF injection is utilized in splitting the response header of HTTP, it is noted as the “HTTP Response Splitting”. The vulnerabilities of CRLF injection is an outcome from the data input, which is not counterbalanced, erroneously neutralized, or otherwise not sanitized.
Invaders provide especially made text streams through CRLF injections for the manipulation of the web application in performing unexpected and possibly harmful actions, varying from average to extreme severity. Invaders exploit the vulnerability of CRLF injection through injecting the CRLF sequences for the splitting of the text stream to implant text sequences, wherein it is not expected by the web application. These unanticipated CRLF injections may result in breach of security and create material harm.
The CRLF injection exploits the security vulnerabilities on the application layer. Through exploiting CRLF injection, error in an HTTP occurs. Considering that, invaders can alter data application, compromising the integrity and allowing the exploitation several vulnerabilities like:
· Cross-Site Scripting or XSS vulnerabilities
· Web server cache and Proxy poisoning
· Website defacement
· Hijacking the session of client
· Poisoning of client web browser
Preventing CRLF Injections
Luckily, the CRLF injections can be prevented easily through these processes:
· Always act in accordance with the rule of not trusting any user input.
· Neutralize and sanitize all user-supplied data or encode properly output in the headers of HTTP that would then be noticeable to the users for the prevention of the CRLF injected sequences and their results.