gpt4 book ai didi

c# - 阻止 ASP.NET 中的整数溢出

转载 作者:太空狗 更新时间:2023-10-29 23:41:25 27 4
gpt4 key购买 nike

我们在工作中使用 Acunetix 对我们的应用程序进行安全扫描。最近我们遇到了以下整数漏洞错误:

Integer Vulnerabilities

据我所知,报告似乎告诉我们我们不会停止 integer overflow attacks在查询字符串中。虽然我们确实使用最终解析为整数的查询字符串,但在我们使用它们之前,它们首先被加密,然后使用 Convert.ToInt32() 解密并转换为 int。我知道我们应该使用 TryParse() 代替,但即使黑客输入一个高于最大值的整数值,他们在尝试解密之前甚至会在尝试转换为整数之前失败,这是我认为整数溢出会发生的地方。那是除非在解密失败时发生错误?

我对此感到很困惑,谷歌搜索并没有太大帮助,因为大多数与非托管语言(如 c++ 而不是 c# 和 asp.net)有关。任何帮助将不胜感激。

最佳答案

我不认为这是一个整数溢出漏洞,我怀疑它指的是整数,因为这是在查询字符串中被操纵的类型(尽管我知道你说过它们是加密的)。如果您将不受信任的用户输入直接转换为整数而不是首先验证类型(如您所说,首先尝试解析它),您可能会抛出一个内部错误(缺少任何 try/catches)并且这就是他们可能会注意到的。

自动扫描器对 HTTP 500 错误有点疯狂。他们不知道幕后实际发生的事情以及错误的严重程度,因此您可以辩称这是误报。另一方面,您的安全人员会争辩说,如果机器人发现您经常因操纵查询字符串而抛出这些错误,那么容易返回 HTTP 500 的网站更有可能被进一步探测。

简单的回答:“所有输入都必须根据可接受值范围的白名单进行验证。”(来自 here)。

关于c# - 阻止 ASP.NET 中的整数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878295/

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