java - Oracle DB - 奇怪的sql注入(inject)

标签 java sql oracle jdbc sql-injection

在对网站进行渗透测试时(是的,合法的),弹出了sql注入(inject),但我目前不知道如何使用它。查询字符串如下所示,插入点位于值后的第一个 _ 处:

query = 'SELECT  item.a 
           FROM favitem item 
          WHERE ( item.a =?) AND (item.b=? )', values = [123456789_, 987654321]

简单

, 1] UNION SELECT banner FROM v$version WHERE banner LIKE 'Oracle%'; -- 

不返回任何值,但表明它已成功。当它包含“%”时,即使是在根本不可能匹配的随机字符串上,它也总是成功的。当它声明LIKE 'Oracle'(没有%)时,它会返回错误。有什么建议为什么使用 % 总是成功吗?

最佳答案

找到注入(inject)是一回事,但要求社区为您编写一个漏洞利用程序则是另一回事。

所以,如果您发现了它,请报告。这就是渗透测试的用途。

关于java - Oracle DB - 奇怪的sql注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18053590/

相关文章:

java - 使用 JDBC Oracle Thin 驱动程序的字符串编码错误

oracle - 如何在oracle中创建新模式并列出所有模式名称

java - AVL 树重新平衡

php - 通过来自转义数据库条目的输入的 SQL 注入(inject)可能吗?

java - 运动 : Drawing a Line from an Origin to a Destination in Processing

sql where 子句仅包含 if case when

c# - 从存储过程中以SQL返回字符串

java - 验证 oracle 的 java 源中的 xml 文档

java - 如何从 APi.ai 的 Java SDK 获取 Json

java - 如何在 Jquery 中使用 modelAttribute 值作为选择框