所有版本
当我在网站上使用'embed'功能时,API是不安全的。我可以拦截所有的API请求,然后在任何地方进行利用。这需要紧急修复。甚至可以修改'sessionId'来绕过现有的会话请求限制。
vx6bjr1n1#
会话ID不是一个安全功能。它是用来引用聊天记录,以保持页面加载时其历史记录的一致性。这是为了替代通过用户ID进行跟踪的功能而存在的。
u7up0aaq2#
会话ID不是一个安全特性。它是用来引用聊天记录,以保持页面加载时的一致性。这是为了替代通过用户ID进行跟踪的能力。我明白你的意思,但是为什么我可以拦截API请求并在其他地方使用它们呢?例如,我捕获URL端点、头部和正文来创建一个使用Node.js的后端。然后我尝试发送一个POST请求。它可以发送请求,但从安全标准的Angular 来看,这种情况不应该发生。你应该使用类似'crypto-js模块'之类的东西对数据进行加密,然后再发送请求,以防止未经授权的使用。我相信如果我要使用'anything-llm'服务的其他人的聊天框,我有信心可以拦截他们的请求,然后将它们用于其他地方,这意味着我可以在任何地方发送无限制的请求。
yftpprvb3#
这只是来自Origin头部的CORS阻止,当然可以使用Burpsuite等工具进行伪造。添加嵌入式聊天功能是因为许多人想要暴露类似的东西,但我们在嵌入式配置样式指南中警告了这一点:https://github.com/Mintplex-Labs/anything-llm/tree/master/embed#security我不同意你的观点,认为这是一个烦恼,可能不应该启用。域名白名单是否能改善这个问题?anything-llm/server/utils/middleware/embedMiddleware.js第65行 in 2fabc84| | consthost=request.headers.origin??""; |它不能防止会话ID旋转或重放。我们可以添加一个IP记录器并根据IP限制,但这仍然不能使整个端点更健壮,因为所有这些客户端端的事情都可以被篡改吗?我认为这可能是一个很好的改进?
Origin
jogvjijk4#
这将只是CORS阻止来自Origin头部,当然可以使用Burpsuite等工具进行欺骗。添加嵌入式聊天功能是因为许多人想要暴露类似的东西,但我们在嵌入式配置样式指南中警告了这一点:https://github.com/Mintplex-Labs/anything-llm/tree/master/embed#security我不同意你的观点,认为这是一个烦恼,可能不应该启用。域名白名单没有改善这个问题吗?anything-llm/server/utils/middleware/embedMiddleware.js第65行在2fabc84| | consthost=request.headers.origin??""; |它不能防止会话ID旋转或重放。我们可以添加一个IP记录器并根据IP限制,但这仍然不能使整个端点更健壮,因为所有这些客户端端的事情都可以被欺骗吗?我认为那可能是一个很好的改进?是的,先生,您理解得正确,正如您所想。
4条答案
按热度按时间vx6bjr1n1#
会话ID不是一个安全功能。它是用来引用聊天记录,以保持页面加载时其历史记录的一致性。这是为了替代通过用户ID进行跟踪的功能而存在的。
u7up0aaq2#
会话ID不是一个安全特性。它是用来引用聊天记录,以保持页面加载时的一致性。这是为了替代通过用户ID进行跟踪的能力。
我明白你的意思,但是为什么我可以拦截API请求并在其他地方使用它们呢?例如,我捕获URL端点、头部和正文来创建一个使用Node.js的后端。然后我尝试发送一个POST请求。它可以发送请求,但从安全标准的Angular 来看,这种情况不应该发生。你应该使用类似'crypto-js模块'之类的东西对数据进行加密,然后再发送请求,以防止未经授权的使用。
我相信如果我要使用'anything-llm'服务的其他人的聊天框,我有信心可以拦截他们的请求,然后将它们用于其他地方,这意味着我可以在任何地方发送无限制的请求。
yftpprvb3#
这只是来自
Origin
头部的CORS阻止,当然可以使用Burpsuite等工具进行伪造。添加嵌入式聊天功能是因为许多人想要暴露类似的东西,但我们在嵌入式配置样式指南中警告了这一点:https://github.com/Mintplex-Labs/anything-llm/tree/master/embed#security我不同意你的观点,认为这是一个烦恼,可能不应该启用。域名白名单是否能改善这个问题?
anything-llm/server/utils/middleware/embedMiddleware.js
第65行 in 2fabc84
| | consthost=request.headers.origin??""; |
它不能防止会话ID旋转或重放。我们可以添加一个IP记录器并根据IP限制,但这仍然不能使整个端点更健壮,因为所有这些客户端端的事情都可以被篡改吗?我认为这可能是一个很好的改进?
jogvjijk4#
这将只是CORS阻止来自
Origin
头部,当然可以使用Burpsuite等工具进行欺骗。添加嵌入式聊天功能是因为许多人想要暴露类似的东西,但我们在嵌入式配置样式指南中警告了这一点:https://github.com/Mintplex-Labs/anything-llm/tree/master/embed#security我不同意你的观点,认为这是一个烦恼,可能不应该启用。域名白名单没有改善这个问题吗?
anything-llm/server/utils/middleware/embedMiddleware.js
第65行在2fabc84
| | consthost=request.headers.origin??""; |
它不能防止会话ID旋转或重放。我们可以添加一个IP记录器并根据IP限制,但这仍然不能使整个端点更健壮,因为所有这些客户端端的事情都可以被欺骗吗?我认为那可能是一个很好的改进?
是的,先生,您理解得正确,正如您所想。