自动增量的SQL注入

我最近一直在查询SQL注入,他们是什么,他们做了什么以及如何阻止他们。 大多数地方讨论用户存储在用户选择的雄蕊中的用户名,导致诸如“OR 1”的问题,但如果我只是使用自动递增的ID从数据库中选择信息而不是用户输入值,这也会阻止sql注入?


SQL注入特别适用于查询的形状 - 它没有提到任何可能意外泄露其他方式信息的查询。

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序,其中将恶意SQL语句[或表达式]插入到要执行的输入字段中。

使用占位符消除SQL注入1,

但..

只是因为系统是免费的SQL注入并不意味着它是安全的其他漏洞。

例如,想象这个查询,其中@OWNER表示占位符。

select *
from emails
where owner = @OWNER

这个查询是免费的SQL注入,但如果攻击者可以指定一个任意的“OWNER”值,那么他们可以访问别人的电子邮件 - 哎呀! 这只是一个安全漏洞; 不是SQL注入。


1使用占位符来处理来自变量的所有数据。

它是否来自用户并不重要。 如果该值保证是整数(即使是自动增量列中的一个),也无关紧要。 只需持续使用占位符 - 那么您就可以获得更清晰的查询,并有更多时间专注于其他问题。


每个查询SQL注入的人都必须明白, 没有办法利用不存在的注入 。 另一方面,一旦注射成为可能,就可能有无限的可能性

意味着人们不应该关心特定的利用。 但始终专注于使注射不可能。

链接地址: http://www.djcxy.com/p/93965.html

上一篇: SQL injection on autoincrement

下一篇: Mysql Database Attacks other than Sql Injection