Microsoft-HTTPAPI/2.0 - Case 4.1.5 : Fail - 2009 ms @ 2021-01-02T08:45:49.442Z
Case Description
Send small text message, then send frame with reserved non-control Opcode = 7 and non-empty payload, then send Ping.
Case Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Case Outcome
Actual events differ from any expected.
Expected:
{'NON-STRICT': [], 'OK': [('message', u'Hello, world!', False)]}
Observed:
[('message', u'Hello, world!', False), ('pong', u'')]
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: 8lScZ10inkZs3BOljrI49A== Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols Upgrade: websocket Server: Microsoft-HTTPAPI/2.0 Connection: Upgrade Sec-WebSocket-Accept: sxhxQOlEY7l2824e8Am+Ci/v0ME= Date: Sat, 02 Jan 2021 16:45:49 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 | server did not drop TCP connection (in time) | When wasClean == False, the reason what happened. |
| wasServerConnectionDropTimeout | True | 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 | 1001 | The close code I sent in close frame (if any). |
| localCloseReason | Going Away | 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 |
| 2 | 2 | 4 |
| 15 | 1 | 15 |
| 197 | 1 | 197 |
| Total | 4 | 216 |
| Chop Size | Count | Octets |
| 1 | 44 | 44 |
| 18 | 1 | 18 |
| 240 | 1 | 240 |
| Total | 46 | 302 |
| Opcode | Count |
| 1 | 1 |
| 8 | 1 |
| 10 | 1 |
| Total | 3 |
| Opcode | Count |
| 1 | 1 |
| 7 | 1 |
| 8 | 1 |
| 9 | 1 |
| Total | 4 |
000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e5465737453756974652f302e372e
352d302e31302e390d0a486f7374 ...
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
65740d0a5365727665723a204d69 ...
002 TX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASK=7180fd9c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=1, SYNC=False
Hello, world!
003 TX OCTETS: 81
004 TX FRAME : OPCODE=7, FIN=True, RSV=0, PAYLOAD-LEN=13, MASK=6877570a, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=1, SYNC=False
Hello, world!
005 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=4bf32b81, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=1, SYNC=False
006 FAIL CONNECTION AFTER 1.000000 sec
007 TX OCTETS: 8d
008 TX OCTETS: 71
009 TX OCTETS: 80
010 TX OCTETS: fd
011 TX OCTETS: 9c
012 TX OCTETS: 39
013 TX OCTETS: e5
014 TX OCTETS: 91
015 TX OCTETS: f0
016 TX OCTETS: 1e
017 TX OCTETS: ac
018 TX OCTETS: dd
019 TX OCTETS: eb
020 TX OCTETS: 1e
021 TX OCTETS: f2
022 TX OCTETS: 91
023 TX OCTETS: f8
024 TX OCTETS: 50
025 TX OCTETS: 87
026 TX OCTETS: 8d
027 TX OCTETS: 68
028 TX OCTETS: 77
029 TX OCTETS: 57
030 TX OCTETS: 0a
031 TX OCTETS: 20
032 TX OCTETS: 12
033 TX OCTETS: 3b
034 TX OCTETS: 66
035 TX OCTETS: 07
036 TX OCTETS: 5b
037 TX OCTETS: 77
038 TX OCTETS: 7d
039 TX OCTETS: 07
040 TX OCTETS: 05
041 TX OCTETS: 3b
042 TX OCTETS: 6e
043 TX OCTETS: 49
044 TX OCTETS: 89
045 TX OCTETS: 80
046 TX OCTETS: 4b
047 TX OCTETS: f3
048 TX OCTETS: 2b
049 TX OCTETS: 81
050 RX OCTETS: 810d48656c6c6f2c20776f726c6421
051 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=False, MASK=None
Hello, world!
052 RX OCTETS: 8a00
053 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=False, MASK=None
054 FAILING CONNECTION
055 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=ac2fc105, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03e9476f696e672041776179
056 TX OCTETS: 888cac2fc105afc6866ac541a625ed58a07c
057 RX OCTETS: 8800
058 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=False, MASK=None
059 TCP DROPPED BY ME