0

安全方面,如果我从用户那里收到部分路径,我需要清理它们吗?

过度简化的示例(在 Python 中):

from azure.storage.blob import BlobServiceClient
client = BlobServiceClient.from_connection_string("<mypassword>")
container = client.get_container("mycontainer")
container.upload_blob(f"path/{input()}", b"data")

可以input()包含../并因此导致路径遍历攻击?

4

1 回答 1

1

不,天蓝色存储不允许路径遍历。

当它检测到路径 has../时,它会抛出一个身份验证错误。

简而言之,如果路径看起来像这样path/path2/../aa.txt,在客户端,该路径将用于生成令牌;在服务器端,它会自动../从路径中删除 ,然后使用新路径(不包含../)生成令牌。因此,客户端令牌在身份验证时与服务器端令牌不匹配。然后发生错误。

于 2020-09-17T02:02:05.683 回答