@@ -25089,36 +25089,45 @@
25089
25089
{
25090
25090
"cell_type": "markdown",
25091
25091
"id": "b2bbd3e0-73bf-4fa5-969a-73efbeb213df",
25092
- "metadata": {
25093
- "jp-MarkdownHeadingCollapsed": true
25094
- },
25092
+ "metadata": {},
25095
25093
"source": [
25096
25094
"### Safari (MacOS 14.3.1) vs Safari (MacOS 15.2)\n",
25097
- "- ??"
25095
+ "- Lot's of differences, mostly to do with HTTP(S)?\n",
25096
+ "- Inital glance: HSTS maybe bug (regression) with casing of header; in general: network library has changed (\\x00, \\r, \\n, space, : etc in headers now leads to error when it did not before and the other way round!)\n",
25097
+ "- Start:\n",
25098
+ "- End:\n",
25099
+ "- Time taken:\n",
25100
+ "- TODO: analyze them and test them!"
25098
25101
]
25099
25102
},
25100
25103
{
25101
25104
"cell_type": "code",
25102
- "execution_count": 155 ,
25105
+ "execution_count": 211 ,
25103
25106
"id": "fd153860-4158-41a6-9719-ffc94afa8ad5",
25104
25107
"metadata": {},
25105
25108
"outputs": [
25106
25109
{
25107
25110
"data": {
25108
25111
"text/plain": [
25109
25112
"test_id\n",
25110
- "upgradeHSTS 1119\n",
25111
- "fetch 208\n",
25112
- "framing 126\n",
25113
- "perfAPI 82\n",
25114
- "subresourceloadingCOEP 71\n",
25115
- "imgloading 67\n",
25116
- "subresourceloadingCORP 51\n",
25117
- "fullscreen 45\n",
25118
- "script 42\n",
25119
- "referrer 23\n",
25120
- "accesswindow 20\n",
25121
- "sniffing 16\n",
25113
+ "upgradeHSTS_direct_direct 828\n",
25114
+ "upgradeHSTS_subdomain_subdomain 291\n",
25115
+ "framing_iframe_direct 84\n",
25116
+ "perfAPI_img_direct 82\n",
25117
+ "subresourceloadingCOEP_img_direct 71\n",
25118
+ "imgloading_iframe_direct 67\n",
25119
+ "fetch_TEST_custom_method 56\n",
25120
+ "fetch_GET_custom_headers 56\n",
25121
+ "fetch_GET_simple 55\n",
25122
+ "subresourceloadingCORP_img_direct 51\n",
25123
+ "framing_iframe_nested 42\n",
25124
+ "script_execution_iframe_direct 42\n",
25125
+ "fetch_GET_credentials 41\n",
25126
+ "fullscreen_iframe_direct 30\n",
25127
+ "referrer_iframe_iframe 23\n",
25128
+ "accesswindow_direct_direct 20\n",
25129
+ "sniffing_script_direct 16\n",
25130
+ "fullscreen_iframe_child_allow 15\n",
25122
25131
"Name: count, dtype: int64"
25123
25132
]
25124
25133
},
@@ -25272,25 +25281,25 @@
25272
25281
],
25273
25282
"source": [
25274
25283
"r = com_browsers(bf, \"safari macOS 15.2 18.2 selenium real\", \"safari macOS 14.3.1 17.3.1 selenium real\")\n",
25275
- "display(r[\"test_id\"].apply(lambda x: x.split(\"_ \")[0]).value_counts())\n",
25284
+ "display(r[\"test_id\"].apply(lambda x: x.split(\"_http \")[0]).value_counts())\n",
25276
25285
"display(r)"
25277
25286
]
25278
25287
},
25279
25288
{
25280
25289
"cell_type": "code",
25281
- "execution_count": 171 ,
25290
+ "execution_count": 213 ,
25282
25291
"id": "bdf73f36-3c44-426e-ba41-55c46dee9562",
25283
25292
"metadata": {},
25284
25293
"outputs": [
25285
25294
{
25286
25295
"data": {
25287
25296
"application/vnd.jupyter.widget-view+json": {
25288
- "model_id": "4855d264a9364b91a802cb79fa2cc943 ",
25297
+ "model_id": "fc1fa81c3dfe4a19b70dc8b74520a588 ",
25289
25298
"version_major": 2,
25290
25299
"version_minor": 0
25291
25300
},
25292
25301
"text/plain": [
25293
- "Tab(children=(Output(), Output(), Output(), Output(), Output( ), Output(), Output(), Output(), Output(), Output …"
25302
+ "Tab(children=(Output(), Output(), Output(), Output()), selected_index=0, titles=('Group 0', 'Group 1', 'Group …"
25294
25303
]
25295
25304
},
25296
25305
"metadata": {},
25300
25309
"source": [
25301
25310
"browser_ids = [73, 51]\n",
25302
25311
"test_name = \"upgradeHSTS_direct\"\n",
25303
- "test_name = \"fetch_GET\"\n",
25304
- "show_response_groups(test_name, browser_ids=browser_ids)"
25312
+ "#test_name = \"fetch_GET\"\n",
25313
+ "relation = None\n",
25314
+ "show_response_groups(test_name, browser_ids=browser_ids, relation=relation)"
25305
25315
]
25306
25316
},
25307
25317
{
@@ -25312,24 +25322,32 @@
25312
25322
},
25313
25323
"source": [
25314
25324
"### Chrome (122) vs Chrome (131)\n",
25315
- "- ??"
25325
+ "- Start: 14:53\n",
25326
+ "- End: 15:09\n",
25327
+ "- Time Taken: 16m\n",
25328
+ "- UpgradeHSTS: 202+32=234 cases, various fixes (#16 in table), only remaining differences with Firefox (#22, different caching of code 300)\n",
25329
+ "- Framing: 39 cases, fix uppercase scheme (#11 in table)\n",
25330
+ "- Fullscreen: 9 cases, fix uppercase scheme (#11? not in table as only chrome supports PP header)\n",
25331
+ "- Script Execution: 2 cases, fix uppercase scheme (#11)\n",
25332
+ "- Imgloading: 2 cases, fix uppercase scheme (#11)"
25316
25333
]
25317
25334
},
25318
25335
{
25319
25336
"cell_type": "code",
25320
- "execution_count": 156 ,
25337
+ "execution_count": 182 ,
25321
25338
"id": "c0b70f62-0f9a-4b33-b86a-ea87f575b878",
25322
25339
"metadata": {},
25323
25340
"outputs": [
25324
25341
{
25325
25342
"data": {
25326
25343
"text/plain": [
25327
25344
"test_id\n",
25328
- "upgradeHSTS 234\n",
25329
- "framing 39\n",
25330
- "fullscreen 9\n",
25331
- "imgloading 2\n",
25332
- "script 2\n",
25345
+ "upgradeHSTS_direct_direct 202\n",
25346
+ "framing_iframe_direct 39\n",
25347
+ "upgradeHSTS_subdomain_subdomain 32\n",
25348
+ "fullscreen_iframe_child_allow 9\n",
25349
+ "script_execution_iframe_direct 2\n",
25350
+ "imgloading_iframe_direct 2\n",
25333
25351
"Name: count, dtype: int64"
25334
25352
]
25335
25353
},
25483
25501
],
25484
25502
"source": [
25485
25503
"r = com_browsers(bf, \"chrome Ubuntu 22.04 122 selenium headless-new\", \"chrome Ubuntu 22.04 131 selenium headless-new\")\n",
25486
- "display(r[\"test_id\"].apply(lambda x: x.split(\"_ \")[0]).value_counts())\n",
25504
+ "display(r[\"test_id\"].apply(lambda x: x.split(\"_http \")[0]).value_counts())\n",
25487
25505
"display(r)"
25488
25506
]
25489
25507
},
@@ -25495,25 +25513,30 @@
25495
25513
},
25496
25514
"source": [
25497
25515
"### Brave (v1.62.156 (Chromium 121)) vs Brave (v1.73.101 (Chromium 131))\n",
25498
- "- ??"
25516
+ "- Start: 15:10\n",
25517
+ "- End: 15:30\n",
25518
+ "- Time: 20m\n",
25519
+ "- Identical to Chrome (234+9+8+2; #16 HSTS fixes and #11 CSP uppercase scheme fix)\n",
25520
+ "- Additionally: referrer, 8 cases, 7 cases stricter HTTPS upgrades (window.open URLs automatically get upgraded) (related to #9), 1 case could be noise or only works the first time"
25499
25521
]
25500
25522
},
25501
25523
{
25502
25524
"cell_type": "code",
25503
- "execution_count": 170 ,
25525
+ "execution_count": 187 ,
25504
25526
"id": "9e95dc30-e35f-40d3-867b-8ca3d78ca6da",
25505
25527
"metadata": {},
25506
25528
"outputs": [
25507
25529
{
25508
25530
"data": {
25509
25531
"text/plain": [
25510
25532
"test_id\n",
25511
- "upgradeHSTS 234\n",
25512
- "framing 39\n",
25513
- "fullscreen 9\n",
25514
- "referrer 8\n",
25515
- "imgloading 2\n",
25516
- "script 2\n",
25533
+ "upgradeHSTS_direct_direct 202\n",
25534
+ "framing_iframe_direct 39\n",
25535
+ "upgradeHSTS_subdomain_subdomain 32\n",
25536
+ "fullscreen_iframe_child_allow 9\n",
25537
+ "referrer_iframe_window.open 8\n",
25538
+ "imgloading_iframe_direct 2\n",
25539
+ "script_execution_iframe_direct 2\n",
25517
25540
"Name: count, dtype: int64"
25518
25541
]
25519
25542
},
25667
25690
],
25668
25691
"source": [
25669
25692
"r = com_browsers(bf, \"brave Ubuntu 22.04 v1.62.156 (121.0.6167.139) selenium headless-new\", \"brave Ubuntu 22.04 v1.73.101 (Chromium 131.0.6778.139) selenium headless-new\")\n",
25670
- "display(r[\"test_id\"].apply(lambda x: x.split(\"_ \")[0]).value_counts())\n",
25693
+ "display(r[\"test_id\"].apply(lambda x: x.split(\"_http \")[0]).value_counts())\n",
25671
25694
"display(r)"
25672
25695
]
25673
25696
},
@@ -25679,30 +25702,44 @@
25679
25702
},
25680
25703
"source": [
25681
25704
"### Firefox (123) vs Firefox (133)\n",
25682
- "- ??"
25705
+ "- Start: 15:35\n",
25706
+ "- End: 16:15\n",
25707
+ "- Time: 40m\n",
25708
+ "- Framing: 38 + 19, code 300 (#7, fixed), XFO whitspace (#15, fixed)\n",
25709
+ "- SubresourceloadingCOPE: 6 (code 300, #7 fixed), 32 continuing random CORP caching (#35)\n",
25710
+ "- perfAPI/TAO: 2 (code 300, #7 fixed), 16 related to #29 (not fixed but changed, TODO update bug report?, entry is still with the old URL but requestStart is 0 even though it should not be 0)\n",
25711
+ "- fetch: 18 (code 300, #7 fixed)\n",
25712
+ "- access_window: 8x changed handling of extra \\n in headers, before such responses were downloaded (null) now they are rendered as plaintext (related to #3 and #37), probably known?\n",
25713
+ "- imgloading: 6 (code 300, #7 fixed), fullscreen_iframe: 6+3 (code 300, #7 fixed), referrer_iframe: 3 (code 300, #7 fixed), script_execution 2 (#7), \n",
25714
+ "- subresourceloadingCORP_img: 4 (code 300, #7 fixed), 1 better mixed content upgrades (related to #8, fixed?)\n",
25715
+ "- upgradeHSTS: 2 (#16, fixed), 1 (code 3007 #7 fixed)"
25683
25716
]
25684
25717
},
25685
25718
{
25686
25719
"cell_type": "code",
25687
- "execution_count": 159 ,
25720
+ "execution_count": 192 ,
25688
25721
"id": "6bcde80d-12b4-4b36-ab1f-ffe78e455f29",
25689
25722
"metadata": {},
25690
25723
"outputs": [
25691
25724
{
25692
25725
"data": {
25693
25726
"text/plain": [
25694
25727
"test_id\n",
25695
- "framing 57\n",
25696
- "subresourceloadingCOEP 38\n",
25697
- "fetch 18\n",
25698
- "perfAPI 18\n",
25699
- "fullscreen 9\n",
25700
- "accesswindow 8\n",
25701
- "imgloading 6\n",
25702
- "subresourceloadingCORP 5\n",
25703
- "referrer 3\n",
25704
- "upgradeHSTS 3\n",
25705
- "script 2\n",
25728
+ "framing_iframe_direct 38\n",
25729
+ "subresourceloadingCOEP_img_direct 38\n",
25730
+ "framing_iframe_nested 19\n",
25731
+ "perfAPI_img_direct 18\n",
25732
+ "fetch_GET_simple 10\n",
25733
+ "fetch_GET_credentials 8\n",
25734
+ "accesswindow_direct_direct 8\n",
25735
+ "imgloading_iframe_direct 6\n",
25736
+ "fullscreen_iframe_direct 6\n",
25737
+ "subresourceloadingCORP_img_direct 5\n",
25738
+ "fullscreen_iframe_child_allow 3\n",
25739
+ "referrer_iframe_iframe 3\n",
25740
+ "script_execution_iframe_direct 2\n",
25741
+ "upgradeHSTS_subdomain_subdomain 2\n",
25742
+ "upgradeHSTS_direct_direct 1\n",
25706
25743
"Name: count, dtype: int64"
25707
25744
]
25708
25745
},
@@ -25856,10 +25893,40 @@
25856
25893
],
25857
25894
"source": [
25858
25895
"r = com_browsers(bf, \"firefox Ubuntu 22.04 123 selenium headless\", \"firefox Ubuntu 22.04 133 selenium headless\")\n",
25859
- "display(r[\"test_id\"].apply(lambda x: x.split(\"_ \")[0]).value_counts())\n",
25896
+ "display(r[\"test_id\"].apply(lambda x: x.split(\"_http \")[0]).value_counts())\n",
25860
25897
"display(r)"
25861
25898
]
25862
25899
},
25900
+ {
25901
+ "cell_type": "code",
25902
+ "execution_count": 210,
25903
+ "id": "357813dd-3fc0-426f-bbc5-b8bc3814bf4e",
25904
+ "metadata": {},
25905
+ "outputs": [
25906
+ {
25907
+ "data": {
25908
+ "application/vnd.jupyter.widget-view+json": {
25909
+ "model_id": "b593da598c1743ea90a87c27268ca1b8",
25910
+ "version_major": 2,
25911
+ "version_minor": 0
25912
+ },
25913
+ "text/plain": [
25914
+ "Tab(children=(Output(), Output(), Output(), Output(), Output(), Output()), selected_index=0, titles=('Group 0'…"
25915
+ ]
25916
+ },
25917
+ "metadata": {},
25918
+ "output_type": "display_data"
25919
+ }
25920
+ ],
25921
+ "source": [
25922
+ "browser_ids = [61, 75]\n",
25923
+ "#browser_ids = [74, 75]\n",
25924
+ "#browser_ids = [74, 76]\n",
25925
+ "test_name = \"upgradeHSTS_subdomain\"\n",
25926
+ "relation = None\n",
25927
+ "show_response_groups(test_name, browser_ids=browser_ids, relation=relation)"
25928
+ ]
25929
+ },
25863
25930
{
25864
25931
"cell_type": "markdown",
25865
25932
"id": "1c8d5dd9-0e56-445f-8907-90b51a63ff88",
0 commit comments