7
7
<p >Directly writing user input (for example, an HTTP request parameter) to an HTTP header
8
8
can lead to an HTTP request-splitting or response-splitting vulnerability.</p >
9
9
10
- <p >HTTP Response- splitting can lead to vulnerabilities such as XSS, and cache poisoning.</p >
11
- <p >HTTP Request- splitting can allow an attacker to inject/smuggle an additional HTTP request into a client's outgoing socket connection.
10
+ <p >HTTP response splitting can lead to vulnerabilities such as XSS and cache poisoning.</p >
11
+ <p >HTTP request splitting can allow an attacker to inject an additional HTTP request into a client's outgoing socket connection.
12
12
This can allow an attacker to perform an SSRF-like attack.</p >
13
13
14
- <p >In the context of a servlet container, if the user input includes blank lines,
15
- and if the servlet container does not itself escape the blank lines,
16
- then a remote user can cause the response to turn into two separate responses,
17
- one of which is controlled by the remote user. This is also HTTP Response- splitting.</p >
14
+ <p >In the context of a servlet container, if the user input includes blank lines
15
+ and the servlet container does not escape the blank lines,
16
+ then a remote user can cause the response to turn into two separate responses.
17
+ The remote user can then control one response, which is also HTTP response splitting.</p >
18
18
</overview >
19
19
20
20
<recommendation >
21
21
<p >Guard against HTTP header splitting in the same way as guarding against cross-site scripting.
22
22
Before passing any data into HTTP headers, either check the data for special characters, or
23
23
escape any special characters that are present.</p >
24
24
25
- <p >In the case of code calling Netty API's directly, ensure that the <code >validateHeaders</code > parameter is set to <code >true</code >.</p >
25
+ <p >If the code calls Netty API's directly, ensure that the <code >validateHeaders</code > parameter is set to <code >true</code >.</p >
26
26
</recommendation >
27
27
28
28
<example >
@@ -42,8 +42,8 @@ The second way will verify the parameters before using them to build the HTTP re
42
42
</example >
43
43
44
44
<example >
45
- <p >The following example shows the use of the library ' netty' with HTTP request-splitting verification configurations .
46
- The second way will verify the parameters before using them to build the HTTP request.</p >
45
+ <p >The following example shows the use of the netty library with configurations for verification of HTTP request splitting .
46
+ The second recommended approach in the example verifies the parameters before using them to build the HTTP request.</p >
47
47
48
48
<sample src =" NettyRequestSplitting.java" />
49
49
</example >
0 commit comments