是否存在针对where in子句的用户提供的子查询的注入攻击?

时间:2017-01-12 13:41:24

标签: database sql-injection

我们有一个允许用户使用sql语句过滤列表的功能。

用户提供的语句实质上用作:

select * from table where id in (subquery) -- where subquery is given by the user

我试过给它); delete from table; --delete from table returning id,但无济于事。 还有其他可能吗?我并不担心用户看到数据,否则他们无法访问。

1 个答案:

答案 0 :(得分:0)

您的问题是互斥的,因为您将注入与特定的漏洞混淆。

  

是否存在针对where子句的用户提供的子查询的注入攻击?

是的,当然。注入任意SQL代码的能力正是SQL注入的内容。

  

我试过给它);从表中删除; - 并从表返回id删除,但无济于事。

在大多数情况下,此特定查询无法正常工作。

  

还有其他可能性吗?

是的,当然。主要是关于用户查看数据,否则他们无法访问。

  

我并不担心用户看到数据

因此请记住:您是否完全关注整个SQL注入或仅关注特定子集。