通过验证 URL 中类似 token 的字段 (如 https://domain.com/[TOKEN]/file.txt) 能在多大程度上避免未经授权的访问?

2021-03-30 00:18:32 +08:00
 dLvsYgJ8fiP8TGYU

假设:

潜在攻击者即使知道了在路径的这一处需要输入 token,是否只能通过枚举来尝试访问 file.txt ?

如果连续两层路径都是 token,如 https://domain.com/[TOKEN1]/[TOKEN2]/file.txt ,是否能够显著提升枚举所需的时间?

潜在攻击者是否可通过某种方式直接查看目录 tree,然后绕过 token 机制直接访问文件?

在我的理解里(不知道是否正确),你创建一个名称很长且随机的文件夹,(对于访问者来说)就等效于需要输入 token 才能访问里面的文件了;如果路径输入不对就会 404

2007 次点击
所在节点    信息安全
10 条回复
Jat001
2021-03-30 00:25:44 +08:00
只要你没做任何映射,没开列出目录的功能,没在任何地方泄露这个地址,那么攻击者除了穷举没有别的办法得知这个地址了
Jat001
2021-03-30 00:27:14 +08:00
不过更安全的办法是 url 里带个会过期的 token,中间做个鉴权,直接访问文件一但路径泄露就没办法了
LokiSharp
2021-03-30 00:30:01 +08:00
header 里加 token 不更好么
codehz
2021-03-30 01:20:35 +08:00
列目录的前提是真的存在有目录(
url 不必真的映射到文件系统上,完全可以只是作为路由参数而已,即使真的映射到文件系统,那也得服务端提供列目录的功能。。。
0ZXYDDu796nVCFxq
2021-03-30 01:23:48 +08:00
1. token 需要管理,比如创建、销毁、验证。建议用成熟的方案
2. 代码有漏洞或者服务器漏洞可能能绕过 token 验证
chendy
2021-03-30 01:26:12 +08:00
攻击者的目的是什么?遍历文件?绕过权限控制访问文件?
为什么不考虑常规的权限机制呢?
ch2
2021-03-30 02:10:48 +08:00
cdn 鉴权了解一下,你的这种例子只是一种鉴权方法
love
2021-03-30 06:24:56 +08:00
加个标准 http 密码保护就行,还不用担心地址泄露到搜索引擎什么的
killergun
2021-03-30 08:09:55 +08:00
token 有过期且一次性访问
THESDZ
2021-03-30 17:04:39 +08:00
oss 对象存储的签名机制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/766338

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX