gpt4 book ai didi

sql-injection - 如何解决 Athena 的 SQL 注入(inject)?

转载 作者:行者123 更新时间:2023-12-04 13:56:42 26 4
gpt4 key购买 nike

我正在编写一个从 Athena 访问数据的 Spring Java 程序,但我发现 Athena JDBC 驱动程序不支持 PreparedStatement,有人知道如何避免在 Athena 上进行 SQL 注入(inject)吗?

最佳答案

Athena 现在支持 prepared statements (在提出问题时情况并非如此)。
话虽如此,准备好的语句并不是在 Athena 中防范 SQL 注入(inject)攻击的唯一方法,而且 SQL 注入(inject)攻击并不像在数据库中那样严重。

  • Athena 只是一个查询引擎,而不是数据库。虽然删除表可能会造成破坏,但表只是元数据,数据不会随之删除。
  • Athena 的 API 不允许在同一个执行中使用多个语句,所以你不能偷偷摸摸 DROP TABLE foo进入语句而不完全替换查询。
  • 根据设计,Athena 没有任何删除数据的能力。 Athena 具有可以创建新数据的功能,例如 CTAS ,但它会拒绝写入现有位置并且无法覆盖现有数据。
  • 关于sql-injection - 如何解决 Athena 的 SQL 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823715/

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