gpt4 book ai didi

java - Hibernate 的 Query.setParameter 是否使 SQL 注入(inject)成为可能

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:03:46 26 4
gpt4 key购买 nike

<分区>

我正在使用 Struts2 框架和 Hibernate,我正在增强一个我没有开始的系统,我增强了系统的一些功能并在产品。但是当他们使用 Acunetix 扫描它时, 在登录模块的某处,系统中检测到一些威胁(警报),其中警报说:

Alert: SQL injection

Severity: High

Description: This script is possibly vulnerable to SQL Injection attacks.

Recommendation: Your script should filter metacharacters from user input. Check detailed information for more information about fixing this vulnerability.

然后,我检查了导致该警报出错的脚本。老开发人员使用 Hibernate 创建查询。

List<UserBean> users = session.createQuery("from UserBean where username =?")
.setParameter(0,username)
.list();

我的问题是:

-这个使用 Hibernate 的查询是否无法避免 SQL 注入(inject)?

-.setParameter 是否应该是 .setString 更具体以避免 SQL 注入(inject)?

或以上都不是?

感谢抽空。

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