也许这可能听起来很奇怪,但我被告知SQL注入攻击 可分为:
passive and active
被动 SQLi:
SELECT,UNION,GROUP BY,LOAD,HAVING EXECUTE, BEGIN, DECLARE
...等有效 SQLi:
UPDATE,DELETE,INSERT
..等等我还没有在白皮书,学习资料等方面找到任何相关内容。
答案 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