被动/主动sql注入这种分类是否存在?

时间:2013-01-02 23:16:35

标签: sql sql-injection

也许这可能听起来很奇怪,但我被告知SQL注入攻击 可分为:

  

passive and active

被动 SQLi:

  • 它与SQL语句有关: SELECT,UNION,GROUP BY,LOAD,HAVING EXECUTE, BEGIN, DECLARE ...等

有效 SQLi:

  • 它应该更危险,因为它涉及通过以下语句修改DBMS:UPDATE,DELETE,INSERT ..等等

我还没有在白皮书,学习资料等方面找到任何相关内容。

5 个答案:

答案 0 :(得分:1)

SQL注入只是在您的查询中添加不需要的文本 您可以按照自己的意愿对其进行分组,但这并不重要,简单的说法是,您的查询不能满足您的需求,也不仅仅是您想要的内容。

答案 1 :(得分:1)

OWASP定义被动和主动sql注入here

  

SQL注入分为以下两类,具体取决于   关于数据库信息的暴露(被动)或改变   数据库信息(活动)。

两者都有问题,如果你有一个,你可能有另一个。活动的问题非常明显(有人正在以您未计划的方式更新/创建/删除您的数据)。尽管对你和你的用户来说,被动同样危险。想象一下,如果他们得到一个用户名和密码列表。这些可以用来登录您的网站或其他网站,因为大多数用户在多个网站上重复使用密码。

答案 2 :(得分:0)

我从未听说过将SQL注入攻击分解为类别。正如gdoron雄辩地说的那样,没关系。

然而,看看你如何分解它几乎是有道理的。我会稍微改变一下这个分类:

<强>被动
涉及以绕过正常安全控制的方式覆盖预期输入的攻击。例如,假设您有一个包含查询字符串的页面,例如:

/accounts/edit.php?id=50

在这种情况下,手动将id更改为1或10可能会拉出用户无权访问的记录。只要编辑页面不执行其他检查以确保用户有权访问。

有效: 将sql语句传递到输入字段以使应用程序执行新语句的攻击。<​​/ p>

例如,将' or (1=1);drop table users;'放入登录字段。一些应用程序只是简单地将sql与未经过简化的用户输入连接起来。这可能允许攻击者绕过安全控制,甚至将DDL语句发送到数据库服务器。

答案 3 :(得分:0)

我不会说涉及DELETE的SQL注入必然比涉及SELECT的SQL注入“更糟糕”。这是真的可以修改数据而另一个不可以。

但是,许多可怕的SQL注入只是为了读取应该被限制的数据,例如窃取credit card numbers

通常,SQL注入的术语与攻击方法有关,例如“盲目SQL注入”,“基于联合的SQL注入”等。

如果您想阅读一本涵盖该主题的强大书籍,请尝试Justin Clarke等人的SQL Injection Attacks and Defense。人

答案 4 :(得分:0)

因为SQL注入是一种用于攻击某个网站的技术,所以它是被动的或主动的,因为很多其他成员已经说过,所以它是无关紧要的。

您在第一段中使用的条款是否被PASSIVE不正确, 执行不是被动的,它是主动的...它的执行(某事或其他)

当与DropTable一起使用时,即使像SELECT这样的被动术语也会导致数据丢失! 所以你仍然坚持称它为被动? 什么时候它会活动掉桌子?

进一步信息的一个很好的来源是维基百科。 http://en.wikipedia.org/wiki/SQL_injection