path: tests/fixtures/llhttp/request/missing-cr-between-headers.yml
name: Missing CR Between Headers
checked: true
source:
path: test/request/invalid.md
line: 454
meta:
noScan: true
type: request
input:
- GET / HTTP/1.1
- 'Host: localhost'
- 'Dummy: x\nContent-Length: 23'
- ''
- GET / HTTP/1.1
- 'Dummy: GET /admin HTTP/1.1'
- 'Host: localhost'
- ''
- ''
llhttp:
- off=0 message begin
- off=0 len=3 span[method]="GET"
- off=3 method complete
- off=4 len=1 span[url]="/"
- off=6 url complete
- off=6 len=4 span[protocol]="HTTP"
- off=10 protocol complete
- off=11 len=3 span[version]="1.1"
- off=14 version complete
- off=16 len=4 span[header_field]="Host"
- off=21 header_field complete
- off=22 len=9 span[header_value]="localhost"
- off=33 header_value complete
- off=33 len=5 span[header_field]="Dummy"
- off=39 header_field complete
- off=40 len=1 span[header_value]="x"
- off=41 error code=25 reason="Missing expected CR after header value"
output:
- offset: 0
type: request
payload: null
- offset: 0
type: begin
payload: null
- offset: 0
type: method
payload: GET
- offset: 4
type: url
payload: /
- offset: 6
type: protocol
payload: HTTP
- offset: 11
type: version
payload: '1.1'
- offset: 16
type: header_name
payload: Host
- offset: 22
type: header_value
payload: localhost
- offset: 33
type: error
payload:
code: UNEXPECTED_CHARACTER
description: Invalid header field value character