EntityManager.find(id) 会执行恶意攻击吗?
Posted
技术标签:
【中文标题】EntityManager.find(id) 会执行恶意攻击吗?【英文标题】:Would EntityManager.find(id) execute malicious attack? 【发布时间】:2018-10-12 19:08:54 【问题描述】:我的休息服务从 UI 中获取“ids”参数。我的控制器如下
@RestOutMessage
deleteEntry(List<String> ids)
.......
我在我的应用上运行 Checkmarx,它突出显示了“ids”,并报告说它容易受到 XSS 和其他 html 注入攻击。
在内部我的代码使用entityManager.delete(id)
。
我不确定这是否安全,或者我如何解释这是否安全。
【问题讨论】:
XSS 和 HTML 注入发生在面向客户端的模型上,而不是服务器端模型上。 谢谢,但我从 UI 中得到了“Id” 如果您有来自 UI 的任何类型的事务,那么是的,攻击者可以捎带客户端 XSS 来攻击您的数据库。 尝试添加更多代码,以便我们可以看到整个可疑的攻击向量。此外,Checkmarx 警告的完整描述可能会有所帮助。 【参考方案1】:我对 checkmarx 不熟悉,但我对你的问题很感兴趣。我真的不明白这行代码如何与 XSS 或 HTML 注入相关联。您可能应该只担心 SQL 注入,并且在这方面您是安全的 - Hibernate 在下面使用 PreparedStatement。
【讨论】:
以上是关于EntityManager.find(id) 会执行恶意攻击吗?的主要内容,如果未能解决你的问题,请参考以下文章
何时将 EntityManager.find() 与 EntityManager.getReference() 与 JPA 一起使用
Session.get() 和 EntityManager.find() Hibernate 有啥区别