From 1ed943abedd3495d28da212315b717d24ec70ad8 Mon Sep 17 00:00:00 2001 From: Yifei Kong Date: Wed, 17 Apr 2024 18:48:38 +0800 Subject: [PATCH] Add tests for new Chrome versions --- tests/signatures/chrome_123.0.6312.124.yaml | 145 +++++++++++++++++++ tests/signatures/chrome_124.0.6367.60.yaml | 148 ++++++++++++++++++++ tests/targets.yaml | 16 +++ 3 files changed, 309 insertions(+) create mode 100644 tests/signatures/chrome_123.0.6312.124.yaml create mode 100644 tests/signatures/chrome_124.0.6367.60.yaml diff --git a/tests/signatures/chrome_123.0.6312.124.yaml b/tests/signatures/chrome_123.0.6312.124.yaml new file mode 100644 index 00000000..1cf15a54 --- /dev/null +++ b/tests/signatures/chrome_123.0.6312.124.yaml @@ -0,0 +1,145 @@ +browser: + name: chrome + os: macOS + version: 123.0.6312.124 +signature: + options: + tls_permute_extensions: true + http2: + frames: + - frame_type: SETTINGS + settings: + - key: 1 + value: 65536 + - key: 2 + value: 0 + - key: 4 + value: 6291456 + - key: 6 + value: 262144 + stream_id: 0 + - frame_type: WINDOW_UPDATE + stream_id: 0 + window_size_increment: 15663105 + - frame_type: HEADERS + headers: + - 'sec-ch-ua: "Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"' + - 'sec-ch-ua-mobile: ?0' + - 'sec-ch-ua-platform: "macOS"' + - 'upgrade-insecure-requests: 1' + - 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' + - 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' + - 'sec-fetch-site: none' + - 'sec-fetch-mode: navigate' + - 'sec-fetch-user: ?1' + - 'sec-fetch-dest: document' + - 'accept-encoding: gzip, deflate, br, zstd' + - 'accept-language: en-US,en;q=0.9' + pseudo_headers: + - :method + - :authority + - :scheme + - :path + stream_id: 1 + tls_client_hello: + ciphersuites: + - GREASE + - 4865 + - 4866 + - 4867 + - 49195 + - 49199 + - 49196 + - 49200 + - 52393 + - 52392 + - 49171 + - 49172 + - 156 + - 157 + - 47 + - 53 + comp_methods: + - 0 + extensions: + - length: 0 + type: GREASE + - alps_alpn_list: + - h2 + length: 5 + type: application_settings + - length: 2 + psk_ke_mode: 1 + type: psk_key_exchange_modes + - algorithms: + - 2 + length: 3 + type: compress_certificate + - key_shares: + - group: GREASE + length: 1 + - group: 29 + length: 32 + length: 43 + type: keyshare + - length: 7 + supported_versions: + - GREASE + - TLS_VERSION_1_3 + - TLS_VERSION_1_2 + type: supported_versions + - length: 1 + type: renegotiation_info + - length: 0 + type: encrypted_client_hello + - length: 0 + type: extended_master_secret + - ec_point_formats: + - 0 + length: 2 + type: ec_point_formats + - length: 5 + status_request_type: 1 + type: status_request + - length: 0 + type: session_ticket + - length: 10 + supported_groups: + - GREASE + - 29 + - 23 + - 24 + type: supported_groups + - length: 0 + type: signed_certificate_timestamp + - alpn_list: + - h2 + - http/1.1 + length: 14 + type: application_layer_protocol_negotiation + - length: 18 + sig_hash_algs: + - 1027 + - 2052 + - 1025 + - 1283 + - 2053 + - 1281 + - 2054 + - 1537 + type: signature_algorithms + - data: !!binary | + AA== + length: 1 + type: GREASE + handshake_version: TLS_VERSION_1_2 + record_version: TLS_VERSION_1_0 + session_id_length: 32 +third_party: + akamai_hash: 52d84b11737d980aef856699f885ca86 + akamai_text: 1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p + ja3_hash: 64ab95a82dbf6413690ab30dce00548f + ja3_text: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,27-0-23-11-65037-65281-13-45-43-16-18-35-10-5-51-17513,29-23-24,0 + ja3n_hash: 473f0e7c0b6a0f7b049072f4e683068b + ja3n_text: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,29-23-24,0 + user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 diff --git a/tests/signatures/chrome_124.0.6367.60.yaml b/tests/signatures/chrome_124.0.6367.60.yaml new file mode 100644 index 00000000..dd520bc4 --- /dev/null +++ b/tests/signatures/chrome_124.0.6367.60.yaml @@ -0,0 +1,148 @@ +# NOTE: this file is not generated by dpkt, due to a bug: https://github.com/kbandla/dpkt/issues/665 +# The only difference from Chrome 123 is: supported_groups with X25519Kyber768 +browser: + name: chrome + os: macOS + version: 124.0.6367.60 +signature: + http2: + frames: + - frame_type: SETTINGS + settings: + - key: 1 + value: 65536 + - key: 2 + value: 0 + - key: 4 + value: 6291456 + - key: 6 + value: 262144 + stream_id: 0 + - frame_type: WINDOW_UPDATE + stream_id: 0 + window_size_increment: 15663105 + - frame_type: HEADERS + headers: + - 'sec-ch-ua: "Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"' + - 'sec-ch-ua-mobile: ?0' + - 'sec-ch-ua-platform: "macOS"' + - 'dnt: 1' + - 'upgrade-insecure-requests: 1' + - 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36' + - 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' + - 'sec-fetch-site: none' + - 'sec-fetch-mode: navigate' + - 'sec-fetch-user: ?1' + - 'sec-fetch-dest: document' + - 'accept-encoding: gzip, deflate, br, zstd' + - 'accept-language: en,zh-CN;q=0.9,zh-TW;q=0.8,zh;q=0.7' + - 'priority: u=0, i' + pseudo_headers: + - :method + - :authority + - :scheme + - :path + stream_id: 1 + tls_client_hello: + ciphersuites: + - GREASE + - 4865 + - 4866 + - 4867 + - 49195 + - 49199 + - 49196 + - 49200 + - 52393 + - 52392 + - 49171 + - 49172 + - 156 + - 157 + - 47 + - 53 + comp_methods: + - 0 + extensions: + - length: 0 + type: GREASE + - alps_alpn_list: + - h2 + length: 5 + type: application_settings + - length: 2 + psk_ke_mode: 1 + type: psk_key_exchange_modes + - algorithms: + - 2 + length: 3 + type: compress_certificate + - key_shares: + - group: GREASE + length: 1 + - group: 29 + length: 32 + length: 43 + type: keyshare + - length: 7 + supported_versions: + - GREASE + - TLS_VERSION_1_3 + - TLS_VERSION_1_2 + type: supported_versions + - length: 1 + type: renegotiation_info + - length: 0 + type: encrypted_client_hello + - length: 0 + type: extended_master_secret + - ec_point_formats: + - 0 + length: 2 + type: ec_point_formats + - length: 5 + status_request_type: 1 + type: status_request + - length: 0 + type: session_ticket + - length: 10 + supported_groups: + - GREASE + - 25497 + - 29 + - 23 + - 24 + type: supported_groups + - length: 0 + type: signed_certificate_timestamp + - alpn_list: + - h2 + - http/1.1 + length: 14 + type: application_layer_protocol_negotiation + - length: 18 + sig_hash_algs: + - 1027 + - 2052 + - 1025 + - 1283 + - 2053 + - 1281 + - 2054 + - 1537 + type: signature_algorithms + - data: !!binary | + AA== + length: 1 + type: GREASE + handshake_version: TLS_VERSION_1_2 + record_version: TLS_VERSION_1_0 + session_id_length: 32 +third_party: + akamai_hash: 52d84b11737d980aef856699f885ca86 + akamai_text: 1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p + ja3_hash: 0160ae8b3388a3463efd4d10b17e0119 + ja3_text: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,65037-43-0-35-10-18-51-45-17513-16-11-27-23-5-13-65281,25497-29-23-24,0 + ja3n_hash: 4c9ce26028c11d7544da00d3f7e4f45c + ja3n_text: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 + user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 diff --git a/tests/targets.yaml b/tests/targets.yaml index 0c16a234..7085fb3c 100644 --- a/tests/targets.yaml +++ b/tests/targets.yaml @@ -35,6 +35,14 @@ - null - null - chrome_120.0.6099.109_macOS +- - curl_chrome123 + - null + - null + - chrome_123.0.6312.124_macOS +- - curl_chrome124 + - null + - null + - chrome_124.0.6367.60_macOS - - curl_chrome99_android - null - null @@ -107,6 +115,14 @@ - CURL_IMPERSONATE: chrome120 - libcurl-impersonate-chrome - chrome_120.0.6099.109_macOS +- - minicurl + - CURL_IMPERSONATE: chrome123 + - libcurl-impersonate-chrome + - chrome_123.0.6312.124_macOS +- - minicurl + - CURL_IMPERSONATE: chrome124 + - libcurl-impersonate-chrome + - chrome_124.0.6367.60_macOS - - minicurl - CURL_IMPERSONATE: chrome99_android - libcurl-impersonate-chrome