Microsoft-HTTPAPI/2.0 - Case 6.3.2 : Fail - 44 ms @ 2021-01-02T08:46:25.069Z
Case Description
Send invalid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
cebae1bdb9cf83cebcceb5eda080656469746564
Case Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Case Outcome
Actual events match at least one expected.
Expected:
{'OK': []}
Observed:
[]
Case Closing Behavior
The connection was failed by the wrong endpoint (FAILED)
GET / HTTP/1.1 User-Agent: AutobahnTestSuite/0.7.5-0.10.9 Host: 127.0.0.1:9001 Upgrade: WebSocket Connection: Upgrade Pragma: no-cache Cache-Control: no-cache Sec-WebSocket-Key: r+/ATRPe0XoPINKoe9R5xQ== Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols Upgrade: websocket Server: Microsoft-HTTPAPI/2.0 Connection: Upgrade Sec-WebSocket-Accept: Skp+tmBDTi/WBVxUZkkpNmQ3bo4= Date: Sat, 02 Jan 2021 16:46:25 CST
| Key | Value | Description |
| isServer | False | True, iff I (the fuzzer) am a server, and the peer is a client. |
| closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
| failedByMe | True | True, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP. |
| droppedByMe | True | True, iff I dropped the TCP connection. |
| wasClean | False | True, iff full WebSockets closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
| wasNotCleanReason | None | When wasClean == False, the reason what happened. |
| wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
| wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
| wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
| localCloseCode | 1007 | The close code I sent in close frame (if any). |
| localCloseReason | encountered invalid UTF-8 while processing text message at payload octet index 12 | The close reason I sent in close frame (if any). |
| remoteCloseCode | None | The close code the peer sent me in close frame (if any). |
| remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
| Chop Size | Count | Octets |
| 3 | 1 | 3 |
| 59 | 1 | 59 |
| 197 | 1 | 197 |
| Total | 3 | 259 |
| Chop Size | Count | Octets |
| 6 | 1 | 6 |
| 7 | 20 | 140 |
| 89 | 1 | 89 |
| 240 | 1 | 240 |
| Total | 23 | 475 |
| Opcode | Count |
| 0 | 13 |
| 1 | 1 |
| Total | 14 |
| Opcode | Count |
| 0 | 20 |
| 1 | 1 |
| 8 | 1 |
| Total | 22 |
000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e5465737453756974652f302e372e
352d302e31302e390d0a486f7374 ...
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
65740d0a5365727665723a204d69 ...
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=5ccd3826, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xce
003 TX OCTETS: 01815ccd382692
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=cbded19c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xba
005 TX OCTETS: 0081cbded19c71
006 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=6030a7f3, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xe1
007 TX OCTETS: 00816030a7f381
008 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=a5d4b623, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xbd
009 TX OCTETS: 0081a5d4b62318
010 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=975c4561, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xb9
011 TX OCTETS: 0081975c45612e
012 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=57473594, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xcf
013 TX OCTETS: 00815747359498
014 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=946795e6, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x83
015 TX OCTETS: 0081946795e617
016 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=d139a073, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xce
017 TX OCTETS: 0081d139a0731f
018 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=4c3deb05, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xbc
019 TX OCTETS: 00814c3deb05f0
020 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=ec4e2b9f, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xce
021 TX OCTETS: 0081ec4e2b9f22
022 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=c4d37a60, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xb5
023 TX OCTETS: 0081c4d37a6071
024 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=d74821bf, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xed
025 TX OCTETS: 0081d74821bf3a
026 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=d4f461a5, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0xa0
027 TX OCTETS: 0081d4f461a574
028 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=58bf822c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x80
029 TX OCTETS: 008158bf822cd8
030 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=afc77300, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
e
031 TX OCTETS: 0081afc77300ca
032 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=4aff9b4b, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
d
033 TX OCTETS: 00814aff9b4b2e
034 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=02a522e3, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
i
035 TX OCTETS: 008102a522e36b
036 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=7cadb3b8, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
t
037 TX OCTETS: 00817cadb3b808
038 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=40cb55f4, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
e
039 TX OCTETS: 008140cb55f425
040 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=70644b5b, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
d
041 TX OCTETS: 008170644b5b14
042 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=eaffb44f, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
043 TX OCTETS: 8080eaffb44f
044 FAIL CONNECTION AFTER 1.000000 sec
045 RX OCTETS: 0101ce
046 RX FRAME : OPCODE=1, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xce
047 RX OCTETS: 0001ba0001e10001bd0001b90001cf0001830001ce0001bc0001ce0001b50001ed0001a00001800001650001640001690001
740001650001648000
048 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xba
049 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xe1
050 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xbd
051 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xb9
052 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xcf
053 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0x83
054 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xce
055 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xbc
056 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xce
057 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xb5
058 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASKED=False, MASK=None
0xed
059 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=83, MASK=7e763a5e, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03ef656e636f756e746572656420696e76616c6964205554462d38207768696c652070726f63657373696e672074657874
206d65737361676520617420706179 ...
060 TX OCTETS: 88d37e763a5e7d995f301d194f300a13483b1a565330081756371a566f0a385b027e091e53321b564a2c11155f2d0d1f5439
5e025f260a56573b0d055b391b56 ...
061 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=0, MASKED=False, MASK=None
062 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=0, MASKED=False, MASK=None
063 TCP DROPPED BY ME