如何解决Azure存储是否允许遍历路径?
从安全角度考虑,如果我从用户那里收到部分路径,是否需要对其进行清理?
过度简化的示例(在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()
是否包含../
,从而引起路径遍历攻击?
解决方法
否,天青存储不允许遍历路径。
当它检测到路径具有../
时,将抛出认证错误。
简而言之,如果路径看起来像path/path2/../aa.txt
,则在客户端,该路径将用于生成令牌;在服务器端,它将自动从路径中删除../
,然后使用新路径(不包含../
)来生成令牌。因此,认证时客户端令牌与服务器端令牌不匹配。然后发生错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。