我们在工作中使用 Acunetix 对我们的应用程序进行安全扫描。最近我们在下面遇到了以下整数漏洞错误:
据我所知,报告似乎告诉我们,我们没有阻止查询字符串中的整数溢出攻击。虽然我们确实使用了最终解析为整数的查询字符串,但它们首先被加密,然后Convert.ToInt32()
在我们使用它们之前被解密并转换为 int。我知道我们应该TryParse()
改用,但即使黑客输入一个高于最大值的整数值,他们在尝试解密甚至尝试转换为整数之前也会失败,我认为这就是整数溢出发生的地方。那是除非解密失败时发生错误?
我对此感到很困惑,谷歌搜索并没有太大帮助,因为大多数与非托管语言(如 c++)有关,而不是 c# 和 asp.net。任何帮助将非常感激。