gpt4 book ai didi

java - 如何摆脱sql盲注?

转载 作者:行者123 更新时间:2023-12-01 14:09:37 26 4
gpt4 key购买 nike

我们在表示层使用 jsf primefaces,并使用 hibernate 作为 ORM 工具。在运行安全工具来检查代码的安全级别时,我们得到很少有盲目的​​ SQL 注入(inject)警告。我知道这个漏洞出现的基本原因。为了确认,我检查了大部分编写的查询,发现所有查询都遵循正确的模式

    SELECT col  FROM table  WHERE col = :Identifier

然后我们使用 getNamedQuery 来检索查询。为了填充标识符,我们正在使用 setter 方法。

安全检查工具生成的报告包含一些UI 组件 id 等。它将问题描述为

对原始请求应用了以下更改:- 将参数“form:someDropDown_input”的值设置为“0%2B0%2B0%2B1”- 将参数“form:someDropDown_input”的值设置为“12345%2B12345%2B1”

此外,在其他一些地方,它也将问题显示为

对原始请求应用了以下更改:- 将参数'javax.faces.partial.execute'的值设置为'%40all%27+and+%27f%27%3D%27f'

我几乎无法从错误报告中理解任何内容。所以请指导我问题可能出在哪里。

最佳答案

“安全工具”(例如您似乎正在运行的 IBM AppScan)的许多结果都只是猜测。 SQL 盲注是一类比一般检测更不可靠的检测。

由于您使用的是参数化查询,所以没问题。告诉运行此工具的人这是误报。如果他们不同意,请他们向您演示如何利用这一点。

关于java - 如何摆脱sql盲注?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627932/

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