Golang go1.14.7.linux-amd64.tar.gz 校验和不匹配
Golang go1.14.7.linux-amd64.tar.gz checksum not matching
https://golang.org/dl/ 显示与我下载到 VPS:
中的不同的 SHA256 校验和
go1.14.7.linux-amd64.tar.gz Archive Linux x86-64 118MB 4a7fa60f323ee1416a4b1425aefc37ea359e9d64df19c326a58953a97ad41ea5
我得到不同的值:
sha256sum go1.14.7.linux-amd64.tar.gz
353f6c251ab323f7435d107577f1504d3c4f74af4ebb06fa2d3c71fc7560f4f3 go1.14.7.linux-amd64.tar.gz
我使用
下载了它
这是怎么回事? golang.org 值是否可能未更新?中间人攻击或类似攻击?
您看到的问题是由于没有使用执行自动重定向的 -L
选项。如果您使用的浏览器不正确支持 Location
header,您使用的 link 重定向到真实位置并提供存根 HTML 页面来执行重定向.因此,您得到的散列是一个小的、不完整的 HTML 文件,而不是真正的 Go 存档。
如果我不使用-L
选项,我会得到你报告的结果;如果我这样做,那么我会得到下载页面上列出的预期结果。请注意,如果您对要验证的存档具有可信的强校验和或签名,则使用 -L
选项始终是安全的,因为您将手动验证存档,而攻击者将无法篡改它。
https://golang.org/dl/ 显示与我下载到 VPS:
中的不同的 SHA256 校验和go1.14.7.linux-amd64.tar.gz Archive Linux x86-64 118MB 4a7fa60f323ee1416a4b1425aefc37ea359e9d64df19c326a58953a97ad41ea5
我得到不同的值:
sha256sum go1.14.7.linux-amd64.tar.gz 353f6c251ab323f7435d107577f1504d3c4f74af4ebb06fa2d3c71fc7560f4f3 go1.14.7.linux-amd64.tar.gz
我使用
下载了它这是怎么回事? golang.org 值是否可能未更新?中间人攻击或类似攻击?
您看到的问题是由于没有使用执行自动重定向的 -L
选项。如果您使用的浏览器不正确支持 Location
header,您使用的 link 重定向到真实位置并提供存根 HTML 页面来执行重定向.因此,您得到的散列是一个小的、不完整的 HTML 文件,而不是真正的 Go 存档。
如果我不使用-L
选项,我会得到你报告的结果;如果我这样做,那么我会得到下载页面上列出的预期结果。请注意,如果您对要验证的存档具有可信的强校验和或签名,则使用 -L
选项始终是安全的,因为您将手动验证存档,而攻击者将无法篡改它。