Skip to content

Commit

Permalink
Merge pull request #100 from max-b/maxb/sni-fixes
Browse files Browse the repository at this point in the history
Fix invalid SNI handling which could be fingerprinted
  • Loading branch information
gaukas authored Apr 28, 2022
2 parents 0b2885c + ee9f861 commit 9d36ce3
Show file tree
Hide file tree
Showing 48 changed files with 3,445 additions and 3,621 deletions.
142 changes: 67 additions & 75 deletions testdata/Client-TLSv12-UTLS-AES128-GCM-SHA256-Chrome-58
Original file line number Diff line number Diff line change
@@ -1,62 +1,65 @@
>>> Flow 1 (client to server)
00000000 16 03 01 00 d7 01 00 00 d3 03 03 00 00 00 00 00 |................|
00000000 16 03 01 00 e1 01 00 00 dd 03 03 00 00 00 00 00 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 |........... ....|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 1c 0a 0a |................|
00000050 c0 2b c0 2f c0 2c c0 30 cc a9 cc a8 c0 13 c0 14 |.+./.,.0........|
00000060 00 9c 00 9d 00 2f 00 35 00 0a 01 00 00 6e 0a 0a |...../.5.....n..|
00000070 00 00 ff 01 00 01 00 00 00 00 05 00 03 00 00 00 |................|
00000080 00 17 00 00 00 23 00 00 00 0d 00 14 00 12 04 03 |.....#..........|
00000090 08 04 04 01 05 03 08 05 05 01 08 06 06 01 02 01 |................|
000000a0 00 05 00 05 01 00 00 00 00 00 12 00 00 00 10 00 |................|
000000b0 0e 00 0c 02 68 32 08 68 74 74 70 2f 31 2e 31 75 |....h2.http/1.1u|
000000c0 50 00 00 00 0b 00 02 01 00 00 0a 00 0a 00 08 0a |P...............|
000000d0 0a 00 1d 00 17 00 18 1a 1a 00 01 00 |............|
00000060 00 9c 00 9d 00 2f 00 35 00 0a 01 00 00 78 0a 0a |...../.5.....x..|
00000070 00 00 ff 01 00 01 00 00 00 00 0f 00 0d 00 00 0a |................|
00000080 66 6f 6f 62 61 72 2e 63 6f 6d 00 17 00 00 00 23 |foobar.com.....#|
00000090 00 00 00 0d 00 14 00 12 04 03 08 04 04 01 05 03 |................|
000000a0 08 05 05 01 08 06 06 01 02 01 00 05 00 05 01 00 |................|
000000b0 00 00 00 00 12 00 00 00 10 00 0e 00 0c 02 68 32 |..............h2|
000000c0 08 68 74 74 70 2f 31 2e 31 75 50 00 00 00 0b 00 |.http/1.1uP.....|
000000d0 02 01 00 00 0a 00 0a 00 08 0a 0a 00 1d 00 17 00 |................|
000000e0 18 1a 1a 00 01 00 |......|
>>> Flow 2 (server to client)
00000000 16 03 03 00 39 02 00 00 35 03 03 1b 07 4c f4 9b |....9...5....L..|
00000010 35 e4 cd 1e 02 50 49 9d 90 38 60 ec ed 69 57 cc |5....PI..8`..iW.|
00000020 bd de 55 f7 9f 9d 60 c3 ea 57 0c 00 00 9c 00 00 |..U...`..W......|
00000030 0d ff 01 00 01 00 00 23 00 00 00 17 00 00 16 03 |.......#........|
00000040 03 02 59 0b 00 02 55 00 02 52 00 02 4f 30 82 02 |..Y...U..R..O0..|
00000050 4b 30 82 01 b4 a0 03 02 01 02 02 09 00 e8 f0 9d |K0..............|
00000060 3f e2 5b ea a6 30 0d 06 09 2a 86 48 86 f7 0d 01 |?.[..0...*.H....|
00000070 01 0b 05 00 30 1f 31 0b 30 09 06 03 55 04 0a 13 |....0.1.0...U...|
00000080 02 47 6f 31 10 30 0e 06 03 55 04 03 13 07 47 6f |.Go1.0...U....Go|
00000090 20 52 6f 6f 74 30 1e 17 0d 31 36 30 31 30 31 30 | Root0...1601010|
000000a0 30 30 30 30 30 5a 17 0d 32 35 30 31 30 31 30 30 |00000Z..25010100|
000000b0 30 30 30 30 5a 30 1a 31 0b 30 09 06 03 55 04 0a |0000Z0.1.0...U..|
000000c0 13 02 47 6f 31 0b 30 09 06 03 55 04 03 13 02 47 |..Go1.0...U....G|
000000d0 6f 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 |o0..0...*.H.....|
000000e0 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 db 46 |.......0.......F|
000000f0 7d 93 2e 12 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 |}...'.H..(!.~...|
00000100 5d fe 1e 52 45 88 7a 36 47 a5 08 0d 92 42 5b c2 |]..RE.z6G....B[.|
00000110 81 c0 be 97 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 |[email protected]..+...|
00000120 a5 2e 67 d8 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b |..g....."8.J.ts+|
00000130 c2 34 f1 d1 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c |.4......t{.X.la<|
00000140 c0 b0 41 d4 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d |..A..++$#w[.;.u]|
00000150 ce 20 54 cf a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b |. T..c...$....P.|
00000160 aa b6 14 43 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 |...C...ub...R...|
00000170 01 00 01 a3 81 93 30 81 90 30 0e 06 03 55 1d 0f |......0..0...U..|
00000180 01 01 ff 04 04 03 02 05 a0 30 1d 06 03 55 1d 25 |.........0...U.%|
00000190 04 16 30 14 06 08 2b 06 01 05 05 07 03 01 06 08 |..0...+.........|
000001a0 2b 06 01 05 05 07 03 02 30 0c 06 03 55 1d 13 01 |+.......0...U...|
000001b0 01 ff 04 02 30 00 30 19 06 03 55 1d 0e 04 12 04 |....0.0...U.....|
000001c0 10 9f 91 16 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f |.....CC>I..m....|
000001d0 60 30 1b 06 03 55 1d 23 04 14 30 12 80 10 48 13 |`0...U.#..0...H.|
000001e0 49 4d 13 7e 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 |IM.~.1......n{0.|
000001f0 06 03 55 1d 11 04 12 30 10 82 0e 65 78 61 6d 70 |..U....0...examp|
00000200 6c 65 2e 67 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 |le.golang0...*.H|
00000210 86 f7 0d 01 01 0b 05 00 03 81 81 00 9d 30 cc 40 |.............0.@|
00000220 2b 5b 50 a0 61 cb ba e5 53 58 e1 ed 83 28 a9 58 |+[P.a...SX...(.X|
00000230 1a a9 38 a4 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d |..8....1Z..f=C.-|
00000240 d9 0b f2 97 df d3 20 64 38 92 24 3a 00 bc cf 9c |...... d8.$:....|
00000250 7d b7 40 20 01 5f aa d3 16 61 09 a2 76 fd 13 c3 |}.@ ._...a..v...|
00000260 cc e1 0c 5c ee b1 87 82 f1 6c 04 ed 73 bb b3 43 |...\.....l..s..C|
00000270 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d |[email protected]+.|
00000280 ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db |..F..M...>...B..|
00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......|
000002a0 04 0e 00 00 00 |.....|
00000000 16 03 03 00 55 02 00 00 51 03 03 f7 8c 05 13 ad |....U...Q.......|
00000010 65 c1 b4 c5 b2 f0 be 70 66 b3 60 4b 7a dc 8b be |e......pf.`Kz...|
00000020 cf 4a f1 2e ef b3 fc 00 d6 82 d8 20 91 57 5f 43 |.J......... .W_C|
00000030 ae 2c 3b 3b c6 19 14 10 85 b6 ad 9a dc a7 90 e0 |.,;;............|
00000040 9b fb 21 23 4b 3b 50 5b b4 3b a7 e5 00 9c 00 00 |..!#K;P[.;......|
00000050 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.|
00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..|
00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.|
00000080 a6 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 |.0...*.H........|
00000090 30 1f 31 0b 30 09 06 03 55 04 0a 13 02 47 6f 31 |0.1.0...U....Go1|
000000a0 10 30 0e 06 03 55 04 03 13 07 47 6f 20 52 6f 6f |.0...U....Go Roo|
000000b0 74 30 1e 17 0d 31 36 30 31 30 31 30 30 30 30 30 |t0...16010100000|
000000c0 30 5a 17 0d 32 35 30 31 30 31 30 30 30 30 30 30 |0Z..250101000000|
000000d0 5a 30 1a 31 0b 30 09 06 03 55 04 0a 13 02 47 6f |Z0.1.0...U....Go|
000000e0 31 0b 30 09 06 03 55 04 03 13 02 47 6f 30 81 9f |1.0...U....Go0..|
000000f0 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 |0...*.H.........|
00000100 81 8d 00 30 81 89 02 81 81 00 db 46 7d 93 2e 12 |...0.......F}...|
00000110 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 5d fe 1e 52 |'.H..(!.~...]..R|
00000120 45 88 7a 36 47 a5 08 0d 92 42 5b c2 81 c0 be 97 |E.z6G....B[.....|
00000130 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 a5 2e 67 d8 |[email protected]..+.....g.|
00000140 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b c2 34 f1 d1 |...."8.J.ts+.4..|
00000150 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c c0 b0 41 d4 |....t{.X.la<..A.|
00000160 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d ce 20 54 cf |.++$#w[.;.u]. T.|
00000170 a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b aa b6 14 43 |.c...$....P....C|
00000180 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 01 00 01 a3 |...ub...R.......|
00000190 81 93 30 81 90 30 0e 06 03 55 1d 0f 01 01 ff 04 |..0..0...U......|
000001a0 04 03 02 05 a0 30 1d 06 03 55 1d 25 04 16 30 14 |.....0...U.%..0.|
000001b0 06 08 2b 06 01 05 05 07 03 01 06 08 2b 06 01 05 |..+.........+...|
000001c0 05 07 03 02 30 0c 06 03 55 1d 13 01 01 ff 04 02 |....0...U.......|
000001d0 30 00 30 19 06 03 55 1d 0e 04 12 04 10 9f 91 16 |0.0...U.........|
000001e0 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f 60 30 1b 06 |.CC>I..m....`0..|
000001f0 03 55 1d 23 04 14 30 12 80 10 48 13 49 4d 13 7e |.U.#..0...H.IM.~|
00000200 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 06 03 55 1d |.1......n{0...U.|
00000210 11 04 12 30 10 82 0e 65 78 61 6d 70 6c 65 2e 67 |...0...example.g|
00000220 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 86 f7 0d 01 |olang0...*.H....|
00000230 01 0b 05 00 03 81 81 00 9d 30 cc 40 2b 5b 50 a0 |.........0.@+[P.|
00000240 61 cb ba e5 53 58 e1 ed 83 28 a9 58 1a a9 38 a4 |a...SX...(.X..8.|
00000250 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d d9 0b f2 97 |...1Z..f=C.-....|
00000260 df d3 20 64 38 92 24 3a 00 bc cf 9c 7d b7 40 20 |.. d8.$:....}.@ |
00000270 01 5f aa d3 16 61 09 a2 76 fd 13 c3 cc e1 0c 5c |._...a..v......\|
00000280 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...|
00000290 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |[email protected]+...F.|
000002a0 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`|
000002b0 84 5c 21 d3 3b e9 fa e7 16 03 03 00 04 0e 00 00 |.\!.;...........|
000002c0 00 |.|
>>> Flow 3 (client to server)
00000000 16 03 03 00 86 10 00 00 82 00 80 b9 65 8d bf a7 |............e...|
00000010 c8 4b 79 ce 6f cb 8b 13 1c ac b9 7d 66 5e e9 ba |.Ky.o......}f^..|
Expand All @@ -67,28 +70,17 @@
00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..|
00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..|
00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 03 00 01 |.Y(.....ia5.....|
00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 60 96 |.....(........`.|
000000a0 1f d8 53 96 25 4d 3a bc 8c ea 27 41 d9 e9 2c cf |..S.%M:...'A..,.|
000000b0 b7 8b fd 08 9b e9 8c 64 cb 83 f9 56 86 b1 |.......d...V..|
00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 93 06 |.....(..........|
000000a0 70 d3 4a 38 e4 3e 28 fb a1 8d 3d 07 51 68 ff 3f |p.J8.>(...=.Qh.?|
000000b0 da 3b f1 70 a9 9f cc 30 66 83 f3 5a 7c a4 |.;.p...0f..Z|.|
>>> Flow 4 (server to client)
00000000 16 03 03 00 aa 04 00 00 a6 00 00 1c 20 00 a0 34 |............ ..4|
00000010 f2 90 c0 e1 bf 5d fe 7c a1 ab d1 44 da ad 68 e7 |.....].|...D..h.|
00000020 17 4c c0 bd be d5 3c fd 0a 34 dc e5 04 b9 4c 7f |.L....<..4....L.|
00000030 0b 6c 41 34 30 b2 0c f8 5f ac 9c bc 73 08 6b 15 |.lA40..._...s.k.|
00000040 51 8e 11 01 18 e0 1d 18 08 f5 9a 2d 38 75 06 98 |Q..........-8u..|
00000050 74 a9 a9 7b af 9c ae d1 cb 65 b9 0a 3a 7c d8 30 |t..{.....e..:|.0|
00000060 6f 51 cc d9 af 1b a3 c5 dc f3 3a 79 ac a8 4e 00 |oQ........:y..N.|
00000070 d7 7f f9 85 50 6f fb 62 64 e7 a9 e7 4d 71 ec 12 |....Po.bd...Mq..|
00000080 bf 66 5f 0b 91 d2 95 80 f4 81 59 cd 37 aa 02 75 |.f_.......Y.7..u|
00000090 66 38 56 bb 15 bf 13 f4 ee 24 21 65 01 1f bc 19 |f8V......$!e....|
000000a0 04 10 5e 54 10 5a be e4 89 9c 47 46 b6 86 2e 14 |..^T.Z....GF....|
000000b0 03 03 00 01 01 16 03 03 00 28 f7 92 40 20 0d 64 |.........(..@ .d|
000000c0 91 7c 38 a7 59 cd 1d 36 61 32 ae 4e cd 3f 7d 01 |.|8.Y..6a2.N.?}.|
000000d0 03 9e 3e 48 74 14 6d 7e d9 0e 07 32 1a 3d 45 1d |..>Ht.m~...2.=E.|
000000e0 6d 8b |m.|
00000000 14 03 03 00 01 01 16 03 03 00 28 64 41 a4 cc ab |..........(dA...|
00000010 e3 81 3c b5 63 dc 6c d3 64 80 9a 25 a4 37 14 ae |..<.c.l.d..%.7..|
00000020 f0 0e 8d cd a6 30 f1 33 1a 15 e8 ae 67 21 61 3c |.....0.3....g!a<|
00000030 a1 38 78 |.8x|
>>> Flow 5 (client to server)
00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 69 f1 78 |.............i.x|
00000010 10 82 58 75 73 95 e6 df 05 6d 98 52 9a 42 56 9f |..Xus....m.R.BV.|
00000020 32 f9 f6 15 03 03 00 1a 00 00 00 00 00 00 00 02 |2...............|
00000030 b5 20 a8 92 73 bf 62 e6 f5 6f a9 10 3c ef 89 6e |. ..s.b..o..<..n|
00000040 93 d6 |..|
00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 19 b5 7e |...............~|
00000010 1e b0 e4 e3 4c 89 05 5b 9b a4 78 bc 46 5c 21 a5 |....L..[..x.F\!.|
00000020 0d 42 1b 15 03 03 00 1a 00 00 00 00 00 00 00 02 |.B..............|
00000030 19 d9 f0 ed f9 14 ff 39 4a 31 01 f0 d1 37 05 88 |.......9J1...7..|
00000040 c1 d8 |..|
Loading

0 comments on commit 9d36ce3

Please sign in to comment.