gpt4 book ai didi

python - 如何停止 HTTP(以及 rfc822、电子邮件) header 注入(inject)?

转载 作者:行者123 更新时间:2023-12-01 05:33:32 26 4
gpt4 key购买 nike

(我问这个问题(并回答它),是为了提供一些(希望有用的)信息,因为我无法使用搜索引擎轻松找到这个信息。但是,请随意回答它并添加有用的信息:-) .)

如何在 Python 中转义/引用 HTTP header ?

和/或如何验证它们以确保它们不包含任何上下文转义值?

换句话说,我们如何处理 HTTP header ,cgi.escapeurllib.quote 方法(以及清理)对 HTML 和 URL 做什么?这可以用来防范HTTP header injection和类似的漏洞。

例如...

我们让用户提供一个应该重定向到的 URL。我们希望防止注入(inject)攻击(其中 SQL injection 是一种众所周知的攻击)。如果我们决定重定向using the Location: header,则抛开(针对此讨论)安全问题(涉及 secret 自动转发到用户可以选择的域中的URL) ,我们如何转义用户提供的 URL 以防止 HTTP header 注入(inject)(或检测它是否包含对 HTTP 危险的值)?

# on a "posix sh"-like command-line...
# ...(it contains a malicious HTTP value)
$ redirect_to 'http://example.com'"\r\n"'Set-Cookie: malicious=value'

现在,在实现redirect_to命令的Python代码中,我们希望像上面这样的输入要么被转义(使其无害),要么成为错误。我们怎样才能做到这一点?

最佳答案

不要逃跑。只需停止处理(删除 header 或整个请求)。

关于python - 如何停止 HTTP(以及 rfc822、电子邮件) header 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19628408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com